我认为标题说明了一切。我需要检查名称中包含单词data的文件是否存在。我尝试了类似os.path.exists(/d/prog/*data.txt)的方法,但这不起作用。

最佳答案

您不能只使用os.path.exists来完成它-它需要完整的路径名。如果不知道确切的文件名,则应首先在文件系统上找到该文件(然后,它证明该文件存在)。

一种选择是列出目录(-ies),然后手动查找文件:

>>> import os
>>> file_list = os.listdir('/etc')
>>> [fn for fn in file_list if 'deny' in fn]
['hostapd.deny', 'at.deny', 'cron.deny', 'hosts.deny']


另一个更灵活的选择是使用glob.glob,它允许使用通配符,例如*?[...]

>>> import glob
>>> glob.glob('/etc/*deny*')
['/etc/hostapd.deny', '/etc/at.deny', '/etc/cron.deny', '/etc/hosts.deny']

关于python - 如何使用Python检查基本名称(仅名称的一部分)文件的存在?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30208099/

10-12 18:21