#python
#python
Вопрос:
У меня много файлов в папке. Я хочу выбрать последний файл. Я также написал код, но он выдает значения в отдельном списке.
Вывод, который я получаю:
['tb_exec_ns_decile_20190129']
['tb_exec_ns_decile_20190229']
['tb_exec_ns_decile_20190329']
Ожидаемый результат:
['tb_exec_ns_decile_20190129', 'tb_exec_ns_decile_20190229', 'tb_exec_ns_decile_20190329']
Код:
path1 = "D:/Users/SPate233/Downloads/testing/*.csv"
files = glob.glob(path1)
print(files)
for name in files:
new_files = []
new_files = os.path.split(name)[1].split('.')[0]
new_files = new_files.split(',')
print(new_files)
Комментарии:
1. создание
new_files = []
в рамках каждой итерации, БАААД!
Ответ №1:
Правильным термином здесь было бы append
не merge
поскольку вы хотите, чтобы все имена файлов были в списке вместе, создайте пустой список для хранения в нем всех имен файлов:
f_list = [] # an empty list to store the file names
for name in files:
file_name = os.path.split(name)[1].split('.')[0]
f_list.append(file_name.split(',')) # appending the names to the list
print(f_list) # print the list
Ответ №2:
Вы всегда можете объединить список в python, как в примере ниже:
>>> first_list = [1, 2, 3]
>>> second_list = [4, 5, 6]
>>> merged_list = first_list second_list
>>> merged_list
[1, 2, 3, 4, 5, 6]