需求:找出data目錄下,不同子文件夾內的指定後綴爲dcm的文件名,生成list,保存爲csv格式
import fnmatch
import os
import pandas as pd
import numpy as np
import sys
InputStra = sys.argv[1] # 運行時,需要指定參數1爲data路徑
InputStrb = sys.argv[2] # 參數2爲 .dcm的後綴文件,也可以是別的後綴,如.jpg,*表示所有
def ReadSaveAddr2(Stra, Strb):
df = pd.DataFrame(np.arange(0).reshape(0,1), columns=['Addr'])
print(df)
path = InputStra
for dirpath,dirnames,filenames in os.walk(path):
#for filename in filenames:
a_list = fnmatch.filter(os.listdir(dirpath), Strb)
if len(a_list):
dft = pd.DataFrame(np.arange(len(a_list)).reshape((len(a_list),1)),columns=['Addr'])
dft.Addr = a_list
# dft.Addr = dirpath + '\\' + dft.Addr#輸出絕對路徑
frames = [df, dft]
df = pd.concat(frames)
print(df.shape)
df.to_csv('list.csv', columns=['Addr'], index=False, header=False)
print("Write list !")
# 在命令行中輸入例如如下格式的命令
# python get_namelist.py /data/dataset/xxx/naru_data *.dcm
ReadSaveAddr2(InputStra, InputStrb)