在一个目录中,有两个文件的名称大部分相同:
我想要打开
我需要避免指定确切的文件名,相反地,我需要搜索该目录以找到与部分字符串
从这个答案和这个答案中,我尝试了以下内容:
my_file_0_1.txt
my_file_word_0_1.txt
我想要打开
my_file_0_1.txt
。我需要避免指定确切的文件名,相反地,我需要搜索该目录以找到与部分字符串
my_file_0
匹配的文件名。从这个答案和这个答案中,我尝试了以下内容:
import numpy as np
import os, fnmatch, glob
def find(pattern, path):
result = []
for root, dirs, files in os.walk(path):
for name in files:
if fnmatch.fnmatch(name, pattern):
result.append(os.path.join(root, name))
return result
if __name__=='__main__':
#filename=find('my_file_0*.txt', '/path/to/file')
#print filename
print glob.glob('my_file_0' + '*' + '.txt')
对我来说,这两个选项都无法打印出实际的文件名,以便我稍后使用np.loadtxt
读取。
基于字符串匹配的结果,我如何找到并存储文件的名称?
glob.glob
жҳҜдёӘеҘҪеҠһжі•пјҢжҲ‘и§үеҫ—гҖӮglob.glob('my_file_0*.txt')
иҝ”еӣһдёҖдёӘж–Ү件еҗҚеҲ—иЎЁпјҢдҪҝз”Ёзҙўеј•жқҘиҺ·еҸ–дҪ йңҖиҰҒзҡ„ж–Ү件гҖӮ - vaultahglob.glob
是fnmatch
的包装器,但它是一个包装器,可以在此处完全满足您的需求。 - Adam Smithglob
应该可以工作。 - Dmitry Senkovich