在 python 中访问文件名不完全已知的文件
access a file with not fully known filename in python
我有一个庞大的文件数据库,其名称如下:
XYZ-ABC-K09235D1-20151220-5H1E2H4A.txt
XYZ-ABC-W8D2S5G5-20151225-HG2EK4GE.txt
XYZ-ABC-ME2C5K32-20160206-DD8BA4R6.txt
etc...
名称的结构完全相同:
'XYZ-ABC-' + 8 random char + '%y%m%d' + 8 random char + '.txt'
现在,我需要根据日期打开一个文件。关键是,我不知道文件的确切名称,因为里面有一些随机字符。例如,对于日期时间 12/05/2014,我知道文件名类似于
XYZ-ABC-????????-20140512-????????.txt
但是我在使用f.open
命令时不知道确切的名字。最好的方法是什么? (我考虑过首先创建一个包含所有文件名的列表,但我不知道这是否是一种好技术,或者使用 glob
... 之类的东西是否更好)。提前谢谢你。
您可以使用以下代码
import os
fileName = [filename for filename in os.listdir('.') if filename.startswith("prefix") and 'otherstring' in filename]
希望对您有所帮助!
我有一个庞大的文件数据库,其名称如下:
XYZ-ABC-K09235D1-20151220-5H1E2H4A.txt
XYZ-ABC-W8D2S5G5-20151225-HG2EK4GE.txt
XYZ-ABC-ME2C5K32-20160206-DD8BA4R6.txt
etc...
名称的结构完全相同:
'XYZ-ABC-' + 8 random char + '%y%m%d' + 8 random char + '.txt'
现在,我需要根据日期打开一个文件。关键是,我不知道文件的确切名称,因为里面有一些随机字符。例如,对于日期时间 12/05/2014,我知道文件名类似于
XYZ-ABC-????????-20140512-????????.txt
但是我在使用f.open
命令时不知道确切的名字。最好的方法是什么? (我考虑过首先创建一个包含所有文件名的列表,但我不知道这是否是一种好技术,或者使用 glob
... 之类的东西是否更好)。提前谢谢你。
您可以使用以下代码
import os
fileName = [filename for filename in os.listdir('.') if filename.startswith("prefix") and 'otherstring' in filename]
希望对您有所帮助!