2016-09-21 10 views
0

-cスイッチでコマンドを実行するためにPython 3.5 CLIを取得できません。python -c '...'のローカルPythonモジュールを使用

シェルでpython3 -c "print(5 + 9)"を試すと、出力は期待通りに14になります。

しかし、私はこのようになりますgcd.pyと呼ばれる現在の作業ディレクトリ内のファイルがあります:私はpython3 -m gcd -c "print(gcd(48, 18))"を実行した場合、シェルは単に何も出力せずに、新しいコマンドプロンプトを作成

def gcd(m, n): 
    return m if n == 0 else gcd(n, m % n) 

を。

私は、ファイルを変更した場合:

print('test') 

def gcd(m, n): 
    return m if n == 0 else gcd(n, m % n) 

その後、シェルが出力test、そのファイルがロードされているでしょう。誰かが私が間違っていることを知っていますか?ありがとう。

+0

このモードにはCLI特有のものは何もありません。たとえば、対話的に使用されることは想定されていませんが、Pythonコードをbashスクリプトに埋め込むことがよくあります。 –

答えて

4

-m-cを一緒に使用することはできません。どちらか一方が実行を制御します。両方を指定すると、Pythonはそれらを無視します。

ではなく -cimportステートメントを使用します。

python3 -c "from gcd import gcd; print(gcd(48, 18))" 

-mその扱いモジュールをスクリプトとして、それは-cためのスイッチ「このモジュール最初のインポート」ではありません。

関連する問題