我指定了一个变量:
cmd="sed -i 's/id="556"/id="33442233"\n pss="120"/g' a.xml"
但是当我试图打印cmd时我得到一个语法错误,似乎是
因为多个'
和"
...我该如何解决这个问题?
答案 0 :(得分:3)
使用\
转义引号?
cmd="sed -i 's/id=\"556\"/id=\"33442233\"\n pss=\"120\"/g' a.xml"
答案 1 :(得分:2)
使用三重引号:
cmd = '''sed -i 's/id="556"/id="33442233"\n pss="120"/g' a.xml'''
顺便说一下。我在那里看到\n
- 如果你想把它保留为反斜杠-n并且没有将它转换为单个换行符,你甚至可以使用它:
cmd = r'''sed -i 's/id="556"/id="33442233"\n pss="120"/g' a.xml'''
答案 2 :(得分:1)
要转义引号,请在字符前添加反斜杠\
。例如:
"\"hello\" said he."
和'\'goodbye\' said she'
答案 3 :(得分:0)
为我工作:
Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> cmd="sed -i \'s\/id=\"556\"\/id=\"33442233\"\n pss=\"120\"\/g\' a.xml"
>>> print cmd
sed -i 's\/id="556"\/id="33442233"
pss="120"\/g' a.xml