Как сделать скрипт для замены двойного пробела на вкладку? - PullRequest
0 голосов
/ 23 октября 2018

Мне нужна помощь, чтобы скрипт содержал два процесса на python: найдите каждый текст в новой папке и замените все двойные пробелы на 1 вкладку и сделайте это снова, чтобы заменить каждую двойную вкладку на 1 вкладку.

import fnmatch 
import os 
rootPath = "D:\A\B" 
pattern = '*.txt' 
for root, dirs, files in os.walk("D:\A\B"): 
    for filename in fnmatch.filter(files, pattern): 
        print(os.path.join(filename))

1 Ответ

0 голосов
/ 23 октября 2018

Пакет glob, вероятно, немного более лаконичен, чем то, что вы используете.Затем просто откройте файлы, прочитайте текст, замените то, что вы хотите заменить, и запишите его обратно в тот же файл.

Будьте осторожны при редактировании файлов на месте - если вы используете это в неправильном местеВы можете нанести серьезный ущерб.

import os
import glob

root_path = r'D:\a\b'  # use raw strings so \ is not escape character
patten = r'**\*.txt'

for path in glob.iglob(os.path.join(root_path, pattern), recursive=True):

    # open the file to read and replace
    with open(path) as fr:
        text = fr.read().replace('  ', '\t').replace('\t\t', '\t')

    # open the file to overwrite
    with open(path, 'w') as fw:
        path.write(text)
...