我想在python脚本中编辑Apache2配置文件。我想在ServerAlias指令中添加或删除一个域名,因此该脚本需要编辑一个特定的文件,搜索以"ServerAlias“开头的行,并在该行后面附加或删除一个特定的域名。
我不确定该怎么做,文档中的任何提示都将不胜感激,我还在考虑使用子进程来使用一些bash工具,比如sed。
发布于 2011-12-31 15:37:57
交易时需要的几个工具
的字符串concatination)
+发布于 2011-12-31 18:04:35
您可以将fileinput.input与inplace模式一起使用:
import fileinput
for line in fileinput.input("mifile", inplace=True):
if line.startswith("ServerAlias"):
line = doherewhatyouwant(line)
print line,来自文档:
如果将关键字参数inplace=True传递给fileinput.input()或FileInput构造函数,则文件将移动到备份文件中,并且标准输出将定向到输入文件(如果已存在与备份文件同名的文件,则将以静默方式替换该文件)。这样就可以编写一个过滤器,在适当的位置重写它的输入文件。如果给定了backup参数(通常为backup='.'),它将指定备份文件的扩展名,并且备份文件将保留;默认情况下,该扩展名为'.bak‘,并在关闭输出文件时将其删除。当读取标准输入时,将禁用就地过滤。
https://stackoverflow.com/questions/8686941
复制相似问题