在文件中替换字符
我决定尝试写一个简单的Python脚本来编辑一些DNS区域文件。这里有一些行,比如:
IN MX 10 mail.example.com
我想把这一行中的第一个空格替换成'@',因为在所有文件中这个字符都缺失了。我试着用:
line.replace(' IN MX', '@ IN MX')
但是没有成功。
with open("zone_file.zone", "rw") as file:
for line in file:
line.replace(' IN MX', '@ IN MX')
我还尝试过用列表:
mx_before = list(' IN MX')
for line in file:
if line == str(mx_before):
mx_before[0] = '@'
"".join(mx_before)
但这也不行。
我想使用一些正则表达式来验证在'IN'字符串之前没有其他字符,但我还没弄明白该怎么做。有什么好的方法吗?(不一定是最简单的)
补充一下:我注意到空格的数量并不是固定的。
2 个回答
1
试试这个:
import re
text = ' IN MX'
text2 = re.sub('^\s', '@', text)
这个函数会找到第一个空格,并把它替换成'@'
1
str=" IN Mx"
for line in file:
if str in line:
line= "@"+line[1:]
试试这个演示:http://repl.it/Tbd