在Python中,我试图在一个目录中找到一个特定的文件,比如说,'file3.txt'。目录中的其他文件是“flie1.txt”、“File2.txt”、“file_12.txt”和“File13.txt”。号码是唯一的,所以我需要按用户提供的号码进行搜索。在
file_num = 3
my_file = glob.glob('C:/Path_to_dir/' + r'[a-zA-Z_]*' + f'{file_num} + '.txt')
问题是,它同时返回“file3.txt”和“File13.txt”。如果我试着向后看,我没有文件:
^{pr2}$怎么才能得到文件?在
glob
接受Unix通配符,而不是regex。这些都不那么强大,但你所要求的仍然可以实现。这个:过滤包含前面没有数字的3的文件。在
对于其他情况,可以使用列表理解和正则表达式:
^{pr2}$glob
的问题是它的正则表达式有限。例如,不能将“[a-z\]+”与glob
一起使用。在因此,最好编写自己的正则表达式,如下所示:
相关问题 更多 >
编程相关推荐