python - FileNotFoundError : [Errno 2] No such file or directory: 'classA' in python, 尽管文件已经创建

标签 python

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/

相关文章:

python - 如何从Python上的html标签获取某些文本?

python - 带有类型提示的默认与可选函数参数

python - 将 Pandas 列添加到稀疏矩阵

python - Django-PayPal 将信号连接到 Action

javascript - 从 python 中的动态 mpld3 图中检索数据

python 编码器和解码器

python - 使用 BeautifulSoup 抓取网站后文本丢失

python - 所有 Tensorflow 输出均为 nan

python - scrapy 蜘蛛完成后重命名输出文件

python - 无法使用 ../返回文件树