Невозможно объединить различные текстовые файлы с похожими именами в один файл - PullRequest
0 голосов
/ 02 июня 2019

У меня есть проблема, когда я перебираю папку и хотел бы объединить файлы, содержащие определенное имя. У меня есть файлы, такие как 1a_USR02.txt, 1b_USR02.txt и 1a_USR06, 1b_USR06. Однако, когда я использую следующий код, конечный файл FINAL_USR02 или FINAL_USR06 содержит только второй файл (1b_USR02 или 1b_UR06). Есть идеи?

import os
import shutil


cwd = os.getcwd()

directory = (cwd + '\\FINAL' + '\\')

delheadfiles = ['UST04', 'USR02', 'USR06','1251', 'AGRS', 'TEXTS',\
             'USERS', 'FLAGS', 'DEVACCESS', 'USERNAME', 'TSTC', 'TSTCT']

for delheadfile in delheadfiles:   
    for file in os.listdir(directory):
        if file.endswith(delheadfile + ".txt"):
            table04 = (directory + 'FINAL_' + delheadfile + '.txt')
            with open(directory + file, 'rb') as readfile:
                if file.endswith(delheadfile + ".txt"):
                     with open(table04, 'wb') as outfile:                   
                        shutil.copyfileobj(readfile, outfile)

1 Ответ

1 голос
/ 02 июня 2019

Попробуйте это:

import os

files_extensions = ['UST04', 'USR02', 'USR06']

folder_files = os.listdir()

for extension in files_extensions:
    with open('FINAL_' + extension + '.txt', 'a+') as out_file:
        for item in folder_files:
            if item.endswith(extension + '.txt'):
                data = open(item, 'r').read()
                out_file.write(data)
        out_file.close()
...