我需要使用python -c远程运行一些代码,它在我使用时工作:
python -c "a=4;print a"
4
Run Code Online (Sandbox Code Playgroud)
要么
python -c "if True:print 'ye'"
Run Code Online (Sandbox Code Playgroud)
但python -c "a=4;if a<5:print 'ye'"会产生错误:
File "<string>", line 1
a=4;if a<5:print 'ye'
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能使它有效,有什么建议吗?
用单引号括起来并使用多行:
python -c '
a = 4
if a < 5:
print "ye"
'
Run Code Online (Sandbox Code Playgroud)
如果您需要在代码中使用单引号,请使用这个可怕的构造:
python -c '
a = 4
if a < 5:
print '\''ye'\''
'
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为大多数UNIX shell不会解释单引号之间的任何内容 - 所以我们有一些Python代码,直到我们需要单引号.由于它完全没有被解释,我们不能只是逃避报价; 相反,我们结束引号,然后插入一个文字引号(转义,因此它不会被解释为新引号的开头),最后是另一个引号,让我们回到未解释的字符串状态.这有点难看,但它确实有效.
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |