FileNotFoundError:[Errno 2]没有这样的文件或目录:python中的’classA’,虽然该文件已经被制作

FileNotFoundError: [Errno 2] No such file or directory: 'classA' in python, although the file has already been made

1
2
3
4
5
6
7
8
sav = []
def fileKeep(sav):
    classA = open("classA","r")
    for line in classA:
        sav.append(line.split())
    file.close()
    return
fileKeep(sav)

这是我代码的结尾。我得到了一个"找不到文件"的错误,尽管我也使用了代码开头附近的文件。欢迎任何帮助,谢谢。


代码假定当前工作目录与脚本所在的目录相同。这不是你能做的假设。

对数据文件使用绝对路径。您可以基于脚本的绝对路径:

1
2
3
4
5
6
import os.path

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
class_a_path = os.path.join(BASE_DIR,"classA")

classA = open(class_a_path)

如果您想找到打开数据文件的位置,可以使用os.getcwd()验证当前工作目录。

您的功能可以简化为:

1
2
3
def fileKeep(sav):
    with open(class_a_path) as class_:
        sav.extend(l.split() for l in class_)

前提是class_a_path是全球性的。