我决定尝试编写一个简单的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')
我也尝试过list:
mx_before = list(' IN MX')
for line in file:
if line == str(mx_before):
mx_before[0] = '@'
"".join(mx_before)
而且这两个都没有。
我想使用一些正则表达式并验证在IN字符串之前没有其他字符,但我还没有意识到该怎么做。什么是最好的(不一定是最简单的)方法?
p.s。:我注意到空间字符的数量不固定
答案 0 :(得分:1)
str=" IN Mx"
for line in file:
if str in line:
line= "@"+line[1:]
试试这个演示:http://repl.it/Tbd
答案 1 :(得分:1)
试试这个:
import re
text = ' IN MX'
text2 = re.sub('^\s', '@', text)
此功能获取第一个空格并将其替换为' @'