在python中传递的命令行参数

时间:2012-09-18 10:16:08

标签: python command-line python-3.x arguments

您好我是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

3 个答案:

答案 0 :(得分:5)

在Python 3中print是一个函数:

print(arg)

答案 1 :(得分: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)

答案 2 :(得分:2)

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

尝试改为

print(arg)