我试图使用正则表达式替换存储在另一个文件中的变量.我试过的代码是:
r = re.compile(r"self\.uid\s*=\s*('\w{12})'")
for line in fileinput.input(['file.py'], inplace=True):
print line.replace(r.match(line), sys.argv[1]),
Run Code Online (Sandbox Code Playgroud)
文件中变量的格式为:
self.uid = '027FC8EBC2D1'
Run Code Online (Sandbox Code Playgroud)
我试图传递这种格式的参数,并使用正则表达式来验证sys.argv[1]格式是否正确,并找到存储在此文件中的变量,并将其替换为新变量.
谁能帮忙.谢谢您的帮助.
您可以使用re.sub与正则表达式匹配的内容并一次性执行替换:
r = re.compile(r"(self\.uid\s*=\s*)'\w{12}'")
for line in fileinput.input(['file.py'], inplace=True):
print r.sub(r"\1'%s'" %sys.argv[1],line),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2792 次 |
| 最近记录: |