os.path.isfile在具有完整路径名的外部文件上

时间:2015-12-17 17:03:12

标签: python

新的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文件存在

希望这是有道理的。 感谢

1 个答案:

答案 0 :(得分:3)

您可能在每行末尾都有换行符(\n)。

尝试在每一行调用value.strip()以删除换行符。

for value in datafile.readlines():
    value = value.strip()
    ... rest of code ...