我有一个包含以下行的文本文件
PIXEL_SCALE 1.0 # size of pixel in arc
将其中的1.0替换为0.3, 我试着用sed viasubprocess.call来自python脚本。 在shell中,遵循sed regex命令可以完美地工作。在
^{pr2}$但相当于subprocess.call命令显示以下错误。在
subprocess.call(['sed','-i',"'s/^\(PIXEL_SCALE\s*\)\([0-9]*\.[0-9]*\)/\10.3/'",'filename.txt'])
sed: -e expression #1, char 1: unknown command: `''
我尝试通过在字符串前面加上r来将字符串转换为原始字符串,还尝试了.encode(“UTF-8”)。但没有任何效果。 这里会出什么问题?在
谢谢
'
引号是shell使用的分隔符。不需要在它们周围使用正则表达式:另外,我使用了raw string(
r"...."
)来防止python解释反斜杠转义序列。在这很管用
相关问题 更多 >
编程相关推荐