错误:Errno 2 没有这样的文件或目录:Python 无法找到已经存在的文件

Errors: Errno 2 No such file or directory : Python is not able to find a file that is already present

这是我写的用来读取目录中文件的代码

该代码第一次运行良好,但此后出现错误:[Errno 2] 没有这样的文件或目录:'ISS_Ackermann.data.amd'

代码:

path = r'C:\Users\Tarun\Desktop\ISS_Ackermann\PlatformLibrary\Package\VehicleDynamicsController\ISS\Feedforward'

# Read every file in directory
for filename in os.listdir(path):
    with open(filename, "r") as f:
        # Read each line of the file
        for line in f.readlines():
            bs_data = bs_data + line

with io.open("shouldget.xml", "w", encoding='utf-8') as output: 
    output.write(str(bs_data)) 
       
print(bs_data) 

我已经尝试过针对类似问题给出的方法,但没有任何效果

附加信息: IDE:木星

调试情况的一个好方法是将目录更改为您的变量path并检查 python 在那里看到了什么。

os.chdir(path)
os.listdir(path)

您可能不在您认为的目录中,这会对您有所帮助。

使用 os.listdir() 后,您可以了解“您所在的位置”并根据文件所在位置相应地更改路径。

调用时需要完整路径open

with open(filename, "r") as f:

应该是

with open(os.path.join(path,filename), "r") as f:

对您的代码进行的小修改应该会有帮助。当您尝试打开文件时,这会给出文件所在位置的绝对路径。

for filename in os.listdir(path):
    with open(os.path.join(path, filename), "r") as f:
        # Read each line of the file
        for line in f.readlines():

您的笔记本不在您要查找文件的目录中。 Python 在该目录中搜索,最终引发错误。

所以,使用文件的绝对路径

for filename in os.listdir(path):
    with open(os.path.join(path,filename), "r"