我希望有人对此有个好主意。尽管我已经看到了一些我认为我需要的东西,但我还没有在这里看到它的完全答案。
我想要一个 Python 脚本来读取文本文件,并检查该文本文件中列出的每个文件名是否存在。然后我希望它将 TRUE 和 FALSE 值写入文本/csv。
源文本文件(称为 dirlist)如下所示:
file1.pdf
file2.pdf
我的 Python 仅限于搜索互联网并将事物拼凑在一起。我正在努力学习!
我在想什么:
with open("dirlist") as f:
for line in f:
if os.path.exists():
open("status", 'w')
write TRUE
else:
open("status", 'w')
write FALSE
我知道这不是Pythonic,而且可能很丑!有什么想法吗?
最佳答案
你的想法基本上是正确的,但你可以稍微简化你的代码:
with open('dirlist', 'r') as f, open('status', 'w') as status:
for line in f.readlines():
exists = os.path.exists(line)
status.write(str(exists).upper())
请注意,通过这种方式,我们可以确保 'status'
的文件句柄不会泄漏(通过将其包含在 with
语句中)。我们也不需要使用 if
语句 - 我们只需将 os.path.exists()
的 bool 返回值字符串化即可。在这里使用 f.readlines()
确保我们不会得到换行符(\n
或 \r
或 \r\n
取决于您的操作系统)位于每行末尾。
关于python - 使用 Python 读取文件列表并检查目录中文件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21921138/