先祭出部分代码:
from commands import getstatusoutput
index=str(4)
base='base.id = '+index
cmd="sed -i "s/base.id = 3/${base}/g" /data/test.txt"
想用python执行shell的sed替换命令,用一个变量替换一个常量,无奈一直不行(str(4)部分其实是输入的值,为了更好调试我就填了个4进去),求大神指点。
先祭出部分代码:
from commands import getstatusoutput
index=str(4)
base='base.id = '+index
cmd="sed -i "s/base.id = 3/${base}/g" /data/test.txt"
想用python执行shell的sed替换命令,用一个变量替换一个常量,无奈一直不行(str(4)部分其实是输入的值,为了更好调试我就填了个4进去),求大神指点。
7 回答5.3k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
4 回答3.8k 阅读✓ 已解决
2 回答5.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
你既然想执行的是sed的替换命令,那
s
替换命令不就是丢了么?sed -i 's/base.id = 3/base.id = 4/' test.txt
--
你把shell的变量替换用到python里是不行的。
使用python string的 format