私はこのように、私は簡単にいくつかの任意のPythonコードを実行できるようにする「-c」引数を使ってPythonを起動しようとしている: python.exe -c "for idx in range(10): print idx"
は今、このコードは正常に動作します私のバッチファイルの中から、私はこれ以上何かしたいときに問題に遭遇しています。「-c」とPythonインタプリタの呼び出しとインデントの問題
は、次のPythonコードを考えてみましょう:
foo = 'bar'
for idx in range(10):
print idx
これは、その後、標準出力にあなたの0-9を与えるだろう。しかし、私は次の取得するには、区切り文字としてセミコロンを使用して、単一の行にこれを折りたたむ場合:
foo = 'bar';for idx in range(10): print idx
をし、それがでSyntaxErrorを上げ得るpython.exe -c
を使用して実行しよう:
C:\Python>python.exe -c "foo = 'bar';for idx in range(10): print idx"
File "<string>", line 1
foo = 'bar';for idx in range(10): print idx
^
SyntaxError: invalid syntax
誰もが知っていますどのように私は実際に別の.pyファイルに切り替えることなくこれを使用することができますか?
私はそうのような呼び出し方法を経由して、.cmdのバッチファイルの中からこれを実行している:
call python.exe -c "blah blah"
生成されている同じエラーで。
を使用すると、行区切りとして\ nを使用して試してみますか? – ykatchou
ユースケースを明確にするために投稿を編集しました。私が与えた例にもかかわらず、私の意図はコマンドラインからではなく、バッチファイルから実行することです。私はバッチファイルとコマンドラインの両方で同じSyntaxErrorを見ていたので、解決策は同じであると思っていました:/ – aodj
とにかく、引用符をエスケープする問題が発生します - 別のPythonスクリプト代わりにPythonを使用して実行しますか? – jsbueno