0
我想讀取一個目錄中的所有文件。目錄中包含下列文件:Python:如何讀取具有某些特定條件的目錄中的所有文件?
ABC11_1.csv
ABC11_3.csv
ABC11_2.csv
ABC13_4.csv
ABC13_1.csv
ABC17_6.csv
ABC17_2.csv
ABC17_4.csv
ABC17_8.csv
當我跑步時我的劇本我想給的格式在控制檯上此文件名: ABC11。
之後,我想按照排序的順序閱讀所有僅含ABC11擴展名的文件。即如此的第一個ABC11_1.csv,ABC11_2.csv,ABC11_3.csv。
如果用戶只給出ABC應用程序必須給出錯誤信息。如果用戶只給出ABC1,那麼它是有效的應用程序接受它並檢查目錄中是否有擴展名爲ABC1的文件(如果可用),然後按排序順序處理文件,如果不是則返回錯誤消息。
程序 - 代碼 -
from glob import glob
import os
import sys
file_pattern = ''
files_list = list()
arguments = {'ABC', 'PQR', 'XYZ'}
if len(sys.argv[1:2]) is 1:
file_pattern = str(sys.argv[1:2])
else:
print 'run as <python test.py ABC>'
sys.exit(1)
if file_pattern in arguments:
print '<Provide LineName with some Number>'
sys.exit(1)
file_pattern = file_pattern.replace('[','').replace(']','').replace('\'','')
if file_pattern.startswith('ABC',0,3):
files_list = glob(os.path.join('<directory name>', str(file_pattern)+'_*.csv'))
else:
print 'No Such File --> ' + str(file_pattern)+ '\t <Provide appropriate Name>'
sys.exit(1)
if files_list:
for a_file in sorted(files_list):
print a_file
#process file
else:
print 'No Such File --> ' + str(file_pattern)+ '\t <Provide appropriate Name>'
sys.exit(1)
我在做這樣的,它的工作的罰款,我卻是其他最好的方式做到這一點的東西。請提供您的答覆?
謝謝。
@ userxxx-是它滿足我的所有要求,我在這個問題提供? – kit
是的,嘗試運行此代碼..根據您的要求可能會有一些小的變化。但我想這可以根據你在提問 – userxxx
@ userxxx提到的任何內容來工作。如果用戶給ABC1參數,所以它應該只檢查ABC1_(whaterver)文件。它不應該返回ABC11_1.csv文件。 – kit