新的python编码器。
设置一个非常基本的脚本来删除不同位置的各种文件, 基本上,一个反病毒脚本。该脚本似乎没有问题:
import os
my_tup = (
'/Users/kevin/Desktop/python/folder1/deleteme.txt',
'/Users/kevin/Desktop/python/folder2/deleteme.txt',
'/Users/kevin/Desktop/python/folder3/deleteme.txt')
for value in my_tup:
if os.path.isfile(value):
print (value, 'File exists\n')
else:
print (value, 'File Not Found\n')
我希望我的列表变得相当长,所以我现在正在使用外部文件,我可以添加。外部文件只是路径名的元组。但是,现在循环说没有文件存在,除了循环中的最后一个条目?
import os
datafile = open("data.txt","r")
for value in datafile.readlines():
if os.path.exists(value):
print (value, 'File exists\n')
else:
print("Sorry, file does not exist: %s" % value)
datafile.close()
此代码的输出为:
抱歉,该文件不存在:/Users/kevin/Desktop/python/folder1/deleteme.txt
抱歉,文件不存在:/Users/kevin/Desktop/python/folder2/deleteme.txt
抱歉,该文件不存在:/Users/kevin/Desktop/python/folder3/deleteme.txt
/Users/kevin/Desktop/python/folder1/deleteme.txt文件存在
希望这是有道理的。 感谢
答案 0 :(得分:3)
您可能在每行末尾都有换行符(\n
)。
尝试在每一行调用value.strip()
以删除换行符。
for value in datafile.readlines():
value = value.strip()
... rest of code ...