Python接受不存在的文件

时间:2017-12-18 23:28:52

标签: python file-not-found

经过多次修改后,这个错误仍然让我感到困惑。我有一个作业,其中一部分是通过计算机上现有文件的输入文件名读入,直到用户输入一个不存在的文件的文件名为止。我程序的那部分看起来像这样:

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上的vm​​ware-host(Windows 7模拟器)上使用Python 3.6.3。

0 个答案:

没有答案