@TORONTOADLER

Собрать множество файлов в python?

Всем привет, есть задача: разобрать один файл на множество чанков и собрать воедино
Сам код разбит на несколько частей в разных подпапках
1 часть (читает и разбирает файл на чанки)
chunk_size = 9000

readFile = input("введите полный путь к файлу чтения: ")

with open(readFile, 'rb') as f:
    i = 0

    while True:

        data = f.read(chunk_size)

        if data:
            with open(f'chunk_{i}', 'wb') as f2:
                f2.write(data)
        else:
            break

        i += 1
print("файл успешно прочитан")

по результату у меня появляется сотни чанк файлов
620bc3fe36612873486977.png

2часть (собрать их обратно в один файл)
recordingFile = input("введите полный путь для файла записи: ")

with open(recordingFile, 'wb') as f:
    for ch in range(i):
        with open(f'chunk_{ch}', 'rb') as chunk_file:
            f.write(chunk_file.read())

изначально 2 части были одним кодом, но нужно 2
Помогите как мне взять все чанк файлы для 2 части кода, если они находятся в другой папке, я еще плохо понимаю python по этому возможно что задаю глупые вопросы.
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 1
@PavelMos
Модуль os. Если не установлен, установить через pip который в питоне в директории scripts.

import os
from os import walk
dir1='xxxxxxxxx'
f = [] #список куды будут добавляться имена файлов из dir1
for (dirpath, dirnames, filenames) in walk(dir1): #dirpath - путь к директории, не нужен, dirnames - имена вложенных директорий, не нужны, filenames - имена файлов
    f.extend(filenames)
    break
print (f)


будет именно список файлов, но не полных путей к файлам
полный путь можно сделать, добавив каждому dir1
f=[dir1+x for x in f]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы