我正在生成如此传递给python -c
的命令
'python -c "import '+impMod+'; help('+module+'.'+method+') if \''+method+'\' in dir('+module+') else from '+impMod+' import '+method+' help('+method+')"'
并获得如下输出:
python -c "import os; help(os.path.pathconf) if 'pathconf' in dir(os.path) else from os import pathconf help(pathconf)"
即使我尝试
python -c "import os; help(os.path.pathconf) if 'pathconf' in dir(os.path) else from os import pathconf; help(pathconf)"
但不知道为什么我会收到SyntaxError:语法无效
任何帮助将不胜感激, 问候。
答案 0 :(得分:2)
您正在混淆语句和表达式。 from .. import ..
语法是一个语句,不能出现在表达式中,但是您在... if ... else ...
表达式中使用它。此外,您可以在shell字符串中使用换行符。
python -c "import os
if 'pathconf' in dir(os.path):
help(os.path.pathconf)
else:
from os import pathconf
help(pathconf)"
要在Python中执行此操作,您可能需要使用三引号。