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

在 Python 3print中是一个函数:

print(arg)
于 2012-09-18T10:18:59.733 回答
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 回答
2

Python 3 不再有print关键字,而是一个print函数。

试试吧

print(arg)
于 2012-09-18T10:19:27.330 回答