sav = []
def fileKeep(sav):
classA = open("classA", "r")
for line in classA:
sav.append(line.split())
file.close()
return
fileKeep(sav)
这是我的代码的结尾。我收到一个“找不到文件”错误,尽管我也使用了靠近代码开头的文件,但在其他任何地方都没有得到该错误。欢迎任何帮助,谢谢。
最佳答案
您的代码假设当前工作目录与您的脚本所在的目录相同。这不是您可以做出的假设。
对数据文件使用绝对路径。您可以将其基于脚本的绝对路径:
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()
验证当前工作目录是什么。如果您想弄清楚您正在尝试打开数据文件的位置。
您的函数可以简化为:
def fileKeep(sav):
with open(class_a_path) as class_:
sav.extend(l.split() for l in class_)
假设class_a_path
是全局的。
关于python - FileNotFoundError : [Errno 2] No such file or directory: 'classA' in python, 尽管文件已经创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28198915/