在命令行上,
python -c "z = [i for i in range(5)]; print (z)"
gives
[0, 1, 2, 3, 4]
where ;
意味着应该有一个换行符。
但是如果换行符后跟一个制表符呢?或者(喘气)两个标签?
以下代码是无效的,但它说明了我希望能够执行的操作:
python -c "z = [i for i in range(5)]; for i in z: print (i)"
并得到输出:
1
2
3
4
5
所以基本上问题是:如何使用以下代码执行python -c
?
z = [i for i in range(5)]
for i in z:
print (i)
注意;
is not始终是换行符的有效替代品,所以问题实际上是:如何提供任意代码。这基本上取决于了解如何使用 shell。
In bash
,您可以使用构建真正的单行代码$'...'
引用:
python -c $'z = [i for i in range(5)]\nfor i in z:\n print(i)'
不过,如果您可以自己嵌入换行符,则更容易阅读:
python -c '
z = [i for i in range(5)]
for i in z:
print(i)
'
请注意,由于缩进非常重要,因此如果调用python
itself在 shell 脚本中缩进,因为脚本缩进将是参数本身的一部分。
if [[ cmd = "do it" ]]; then
# The Python script has to be dedented
python -c '
z = [i for i in range(5)]
for i in z:
print(i)
'
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)