目錄中的一個完整的文件名,也有共享大部分人的名字兩個文件:的Python:獲得基於部分文件名
my_file_0_1.txt
my_file_word_0_1.txt
我想開my_file_0_1.txt
我需要以避免指定確切的文件名,而是需要在目錄中搜索與部分字符串my_file_0
匹配的文件名。
從this answer here,and this one,我試過如下:
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')'返回一個文件名列表,使用索引來檢索你需要的文件。 – vaultah
同意。 'glob.glob'是'fnmatch'的一個包裝器,但它是一個包裝器,它正是你想要做的事情。 –
@StatsSorceress確保你在運行腳本的目錄中有這樣的文件,因爲'glob'應該可以工作 –