我认为标题说明了一切。我需要检查名称中包含单词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/