我是python新手,要求就像我有一个平面文件,其中提到了3个文件名,我需要检查在平面文件中写入的文件名是否存在于目录中。 下面提到的是我的代码。但每次它向我显示的文件并不存在于文件所在的位置
我的平面文件名是filename.txt。我有3个入口
我需要逐行读取文件名并检查目录中是否存在文件。但我不知道为什么这个代码不起作用。平面文件以及同一目录中的3个文件
with open('filename.txt','r') as f:
line = f.readlines()
print(line)
for fh in line:
print(fh)
if path.exists(fh):
print (fh,"File exist")
else:
print (fh,"File not exist")
sys.exit(0)
下面的代码将创建一个dict,其中文件名指向一个布尔值,告诉您该文件是否存在
这是因为
readlines
包含尾随的换行符字符因此,您需要手动剥离它(通常使用
str.strip
或str.rstrip
以提高安全性),因为您的文件名可能不包含换行符除此之外,
readlines
在这里并不是真正必要的,您可以直接迭代文件。但是,在文本模式下使用open
时,您确实应该为它提供显式编码,否则它将使用locale.getpreferredencoding(False)
返回的任何垃圾,而这通常不是您想要的(尤其是在windows系统上)相关问题 更多 >
编程相关推荐