我试图用subprocess.call
运行Python脚本,在匹配模式之后添加一行。方法如下:
addline1
是变量,其值为"hello world1"
filename1
是包含路径和文件名的变量,例如"/tmp/path1/filename.conf"
在filename.conf
中,它有35行,我想在匹配字符串"ReWriteEngine On"
之后插入一行
subprocess.call(["sed","-i" ,'/ReWriteEngine On/a', addline1,filename])
失败,但以下例外:
^{pr2}$有谁能建议改正一下吗?在
尝试使用fileinput
而不是sed
的代码
import fileinput
processing_foo1s = False
for line in fileinput.input('/tmp/filename1/mod_wl_ohs.conf', inplace=1):
if line.startswith("RewriteEngine On"):
processing_foo1s = True
else:
if processing_foo1s:
print 'foo bar'
processing_foo1s = False
print line
正在更正
sed
问题:注意:如果字符串必须在行首匹配,请使用
/^ReWriteEngine On/a
^{pr2}$使用
fileinput
:参考号:Python: Prevent fileinput from adding newline characters
相关问题 更多 >
编程相关推荐