我知道os.path.isfile(fname)
,但现在我需要搜索是否存在名为FILEnTEST.txt
的文件,其中n可以是任何正整数(因此它可以是FILE1TEST.txt
或{{ 1}})
我想这个解决方案可能涉及文件名以/或以某种方式调用FILE9876TEST.txt
并用任何数字替换n的子字符串,但我不知道如何处理任何一种解决方案。< / p>
答案 0 :(得分:6)
您需要编写自己的过滤系统,方法是获取目录中的所有文件,然后将它们与正则表达式字符串匹配,看看它们是否未通过测试:
import re
pattern = re.compile("FILE\d+TEST.txt")
dir = "/test/"
for filepath in os.listdir(dir):
if pattern.match(filepath):
#do stuff with matching file
我没有在安装了Python的机器附近来测试代码,但它应该是这样的。
答案 1 :(得分:2)
您可以使用正则表达式:
/FILE\d+TEST.txt/
示例:regexr.com。
然后,您可以使用所述正则表达式并遍历目录中的所有文件。
import re
import os
filename_re = 'FILE\d+TEST.txt'
for filename in os.listdir(directory):
if re.search(filename_re, filename):
# this file has the form FILEnTEST.txt
# do what you want with it now