经过多次修改后,这个错误仍然让我感到困惑。我有一个作业,其中一部分是通过计算机上现有文件的输入文件名读入,直到用户输入一个不存在的文件的文件名为止。我程序的那部分看起来像这样:
import os.path
file_lst=[]
f=True
while f:
tx=input("Unesite file path:")
if os.path.isfile(tx):
file_lst.append(tx)
else:
print("Broken.")
f=False
print(file_lst)
print("Broken.")
语句用于检查循环是否实际中断。程序运行如下:它接受第一个输入,即现有文件,然后输入一个不存在的文件,之后循环中断并打印出file_lst
。然后,程序再次询问文件输入(不在代码的其余部分中的任何位置)。当我输入不存在的文件时,程序停止并打印出FileNotFoundError(错误位于稍后我打开文件的文件中。)错误屏幕如下所示:
Unesite file path:\\vmware-host\Shared Folders\Desktop\primer.txt
Unesite file path:f
Broken.
['\\\\vmware-host\\Shared Folders\\Desktop\\primer.txt']
Unesite file path:g
Traceback (most recent call last):
File "//vmware-host/Shared Folders/Desktop/VDZ_3.py", line 25, in <module>
f=open(tx,"r")
FileNotFoundError: [Errno 2] No such file or directory: 'g'
这是FileNotFoundError发生的地方:
if len(file_lst)==0:
print("Nema unetih imena fajlova.")
else:
for tx in file_lst:
tx=input("Unesite file path:")
f=open(tx,"r")
我无法找到合理的解释,因此我写了这篇文章,希望是开明的。我在MacBook上的vmware-host(Windows 7模拟器)上使用Python 3.6.3。