Я хочу прочитать все файлы в одном каталоге. Каталог содержит следующие файлы: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