python命令行argumen中的多行脚本

2024-06-16 13:57:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个arch linux PKGBUILD脚本中调用python:

python -c "from module import func; func()"

func引发异常,这是预期的行为,但会导致脚本失败。 像这样捕捉异常不起作用:

^{pr2}$

似乎没有办法将try/except语句放入一行(Python: try statement in a single line)。在

有没有另一种方法可以忽略异常或python返回错误的事实? 最受欢迎的解决方案是不需要额外的脚本或其他文件:)


Tags: infromimport脚本linux语句statementmodule
2条回答

也可以输入要以交互方式执行的脚本,如下所示:

$ cat   | python
<code here>
<code here>
<code here>
<press Ctrl-D>

Python将运行您输入的内容,例如:

^{pr2}$

shell中的字符串可以包含嵌入的换行符:

python -c 'from module import func
try:
  func()
except ValueError:
  pass
'

请注意,如果要运行的Python包含混合使用的引号,这将带来一个挑战,这将需要进行一些扭曲以确保它们都正确地转义。在这种情况下,here文档将比-c选项更合适(尽管如果要运行的代码需要从标准输入中读取,则这会带来自己的问题)

^{pr2}$

相关问题 更多 >