在Python中,如何检查文件是否存在以子字符串开头或结尾?

Mic*_*ong 8 python filesystems substring file

我知道os.path.isfile(fname),但现在我需要搜索是否存在一个名为FILEnTEST.txtn 的文件,其中n可以是任何正整数(因此它可以是FILE1TEST.txtFILE9876TEST.txt)

我想这个解决方案可能涉及文件名以字符串开头/结尾的子字符串,或者涉及以某种方式调用os.path.isfile('FILE' + n + 'TEST.txt')并用任意数字替换n的子字符串,但我不知道如何处理任何一种解决方案.

小智 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
Run Code Online (Sandbox Code Playgroud)

我不是在安装了Python的机器附近来测试代码,但它应该是这样的.