python - 使用 Python 读取文件列表并检查目录中文件是否存在

标签 python python-2.7

我希望有人对此有个好主意。尽管我已经看到了一些我认为我需要的东西,但我还没有在这里看到它的完全答案。

我想要一个 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/

相关文章:

python 3 : generator for map

python - NDB 中 SelfReferenceProperty 的等价物

WinXP 中的 Python setuptools 退出安装并出现无信息错误

python - 不区分大小写的 xml 和 python

python - 使用 __name__ 作为属性

python - 如何在运行时覆盖包中的东西?

Python将表转换为字典

python - django-guardian 如何让对象继承相关对象的权限?

python - 我的点击计数器程序无法运行

python - 查找集合的所有不相交子集,尊重元素顺序