【发布时间】:2014-06-04 14:02:08
【问题描述】:
我决定尝试编写一个简单的 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 字符串之前没有其他字符,但我还没有意识到该怎么做。什么是最好的(不一定是最简单的)方法?
ps:我注意到空格字符的数量不固定
【问题讨论】:
-
为什么不
sed或awk? -
提示:
string.replace不会修改字符串,它会返回一个包含您替换的新字符串。如果您不将结果分配给某物,则它什么也不做。string.join也一样。 -
@pavel 他们很受欢迎。我没有想到它们,但我不太了解它们。
标签: python regex string python-2.7