0

こんにちは、私は Python を初めて使用し、現在次のスクリプトをコピーしています。

# filename is printer.py
import sys
for arg in sys.argv:
    print arg    # the zeroth element is the module name
raw_input("press any key")    # a trick to keep the python console open

引数の後にモジュール名を取得しようとしています。しかし、このコードを実行すると、次のエラーが表示されます。

U:\printer.py
    File "U:\printer.py", line 6
      print arg # zeroth element is the module name
              ^
SyntaxError: Invalid syntax

ここで何が問題なのか誰か知っていますか?私はPython 3.2を使用しています

4

3 に答える 3

5

他の人が指摘したように、python3ではprint関数です:

print arg

今でしょ:

print(arg)

また、raw_inputはなくなり、単純に に置き換えられましたinput。(py2k では、コマンドラインから文字列を取得しますinputeval、py3k ではそれを行いません)。


最後に (そしておそらく最も重要なことですが)、次のことを考慮しましたargparseか? (未テストのコードが続きます)

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('foo',nargs='*',help="What a nice day we're having")
args = parser.parse_args()
print(args.foo)
于 2012-09-18T10:32:29.087 に答える
5

Python 3printには関数があります。

print(arg)
于 2012-09-18T10:18:59.733 に答える
2

printPython 3 にはキーワードがなくなり、print関数が追加されました。

代わりに試す

print(arg)
于 2012-09-18T10:19:27.330 に答える