Python:在提示时读取文件时遇到问题

Python:在提示时读取文件时遇到问题,python,file-io,Python,File Io,我在读取文件时遇到问题。我会提示用户加载一个文件,然后在函数中使用输入作为参数,该函数只会尝试加载给定的文件名并打印每一行。 我收到一个IOError:没有这样的文件或目录:“filename.txt” filename = raw_input("Filename to load: ") print load_records(students, filename) def load_records(students, filename): #loads student records

我在读取文件时遇到问题。我会提示用户加载一个文件,然后在函数中使用输入作为参数,该函数只会尝试加载给定的文件名并打印每一行。 我收到一个IOError:没有这样的文件或目录:“filename.txt”

filename = raw_input("Filename to load: ")
print load_records(students, filename)

def load_records(students, filename):
    #loads student records from a file
    records = []
    in_file = open(filename, "r")
    for line in in_file:
        print line

我怀疑我没有访问正确的目录。

鉴于此错误,我将得出结论,提示时您键入的是
filename.txt
。这将导致Python在当前目录中搜索名为
filename.txt
的文件。因此,如果命令提示符的当前目录是
C:\dev
,这相当于
C:\dev\filename.txt
(绝对路径)。您应该将当前目录更改为包含
filename.txt的目录,或者在出现提示时指定绝对路径。后者可能更简单,因为它不会破坏Python查找其他模块的能力。

文件名变量中保存的内容是什么?如果您正在使用windows,则需要将“\”替换为“\ \”,以定义目录。@Creator 232这只是Python文本中的情况(可以用原始字符串解决)。在“标准输入”中键入路径时,不需要将斜杠加倍以转义它们。@jpmc2:哦,我不知道,这是更新的原因。当我键入整个文件路径时,我收到一个值错误:混合迭代和读取方法将丢失数据。@user3271700然后,指定完整路径似乎使您的程序能够成功打开该文件。我认为新的错误需要一个单独的问题,因为它可能需要更多的细节和讨论。