У меня есть куча текстовых файлов в каталоге, и мне нужно заменить текст в них. Каждая строка выглядит следующим образом:
B6 0x040A43
B17 0x6C00C8
Мне нужно:
- Заменить первую часть на
1,28
. - Удалить пробел, который является
\t
пробел. - Удалите шестнадцатеричный идентификатор
0x
. - Добавьте запятую после следующих двух символов.
Таким образом, результат должен выглядеть следующим образом:
1,28,04,0A43
1,28,6C,00C8
Я все еще изучаю Python и регулярные выражения, и после нескольких часов игры вокруг этого и до сих пор я написал следующее:
for filename in glob.glob(os.path.join(directory, '*.txt')):
with open(filename, "r") as f:
lines = f.read().splitlines()
for line in lines:
line = re.sub(r'B\d{1,}[\s+]0x','1,28,', line)
print(line)
Это распечатывает 1,28,040A43
так что у него есть все, кроме последней запятой.
Мои вопросы:
- Как вставить запятую в строку?
- Это лучшееспособ заменить текст в моих файлахили я должен получить к нему доступ другим способом?