0

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:無効な構文が表示される理由がわかりません

よろしくお願いします。

4

1 に答える 1

2

ステートメントと式を混同しています。構文はステートメントであり、式のfrom .. import ..中に表示することはできませんが、式の中で使用しています... if ... else ...。また、シェル文字列内で改行を使用できます。

python -c "import os
if 'pathconf' in dir(os.path):
    help(os.path.pathconf)
else:
    from os import pathconf
    help(pathconf)"

Python でこれを行うには、三重引用符を使用することをお勧めします。

于 2013-10-29T18:20:15.567 に答える