В настоящее время я пытаюсь удалить указанный аргумент ключевого слова c из нескольких файлов Python и использую пакет re
, чтобы попытаться удалить его; однако каждый раз, когда я пытаюсь выполнить подстановку регулярных выражений, это не удаляет все это.
Файл примера foo.py
, который может выглядеть следующим образом:
import numpy as np
import pandas as pd
import test_utils as tu
test = tu.generate_graph(
graph_type='line',
thickness=300,
color='blue',
save=True,
data=pd.read_csv('bar.csv')
)
Я хочу удалить все экземпляры thickness=300
и save=True
Я сделал следующее:
import re
target_strs = ['thickness=300','save=True']
open_file = open('foo.py', 'r')
read_file = open_file.read()
regex = re.compile(r'\b(?:%s)\b' % ''.join(target_strs))
read_file = regex.sub('', read_file)
write_file = open('foo.py', 'w')
write_file.write(read_file)
write_file.close()
Когда я распечатываю содержимое нового файла, оно дает мне тот же результат, что и оригинал. Нужно ли учитывать вкладки и строки строк при сопоставлении с регулярным выражением?