Фильтруйте каталог с помощью Regex и выводите отфильтрованные файлы в другой каталог - PullRequest
0 голосов
/ 07 июня 2019

Я просто пытаюсь создать программу на python 3, которая запускает все файлы .sql в определенном каталоге и затем применяет мое регулярное выражение, которое добавляет; после определенного экземпляра и запишите изменения, внесенные в файл, в отдельный каталог с соответствующими именами файлов.

Итак, если у меня были файлы file1.sql и file2.sql в каталоге "/ home / files", то после запуска программы выходные данные должны записать эти два файла в "/ home / new_files" без изменения содержимого оригинальные файлы.

Вот мой код:

import glob
import re
folder_path = "/home/files/d_d"
file_pattern = "/*sql"
folder_contents = glob.glob(folder_path + file_pattern)


for file in folder_contents:
    print("Checking", file)
for file in folder_contents:
    read_file = open(file, 'rt',encoding='latin-1').read()
    #words=read_file.split()
    with open(read_file,"w") as output:
        output.write(re.sub(r'(TBLPROPERTIES \(.*?\))', r'\1;', f, flags=re.DOTALL))

Я получаю сообщение об ошибке «Имя файла слишком длинное»: «СОЗДАТЬ ВНЕШНЮЮ ТАБЛИЦУ», а также я не очень уверен, куда бы я поместил свой путь вывода (/ home / files / new_dd) в своем коде.

Есть идеи или предложения?

...