在终端中 运行 python 时使用 Argv 时出错
Error using Argv while running python in terminal
我在终端中使用 argv 将唯一参数传递给 python 脚本。当 运行 同一程序处理多个唯一文件时非常有用(此程序为某些内容解析 xml 文件)。我构建了三个不同的程序,它们具有独特的用途。
我将我的程序聚合到一个 .py 文件中,这样我就可以在 python 的实际 运行 实例中使用 'import',然后一个一个地浏览文件:
>>>import xml
>>>xml.a()
>>>xml.b()
>>>xml.c()
我怎样才能即时向这些程序传递参数?以这种方式调用程序后放置参数时出现语法错误。
>>>xml.a() file1.xml file1.csv
^
>>>SyntaxError: invalid syntax
您将参数传递给 Python 中的函数,方法是将它们放在括号之间(这些称为 "parameters," see documentation)。所以你需要修改你的函数,以便它们可以接受参数(而不是从 sys.argv
读取),然后 运行 函数像:
my_library.py
def function1(filename):
print filename
口译员
>>> import my_library
>>> my_library.function1("file1.xml")
>>> file1.xml
如果你希望你的函数能够处理无限数量的参数(就像你可以使用 sys.argv
),你可以在参数列表的末尾使用 *
语法来捕获其余参数作为列表 (see documentation)。例如:
my_library.py
def function1(*filenames):
for filename in filenames:
print filename
口译员
>>> import my_library
>>> my_library.function1("file1.xml", "file2.csv", "file3.xml")
file1.xml
file2.csv
file3.xml
我在终端中使用 argv 将唯一参数传递给 python 脚本。当 运行 同一程序处理多个唯一文件时非常有用(此程序为某些内容解析 xml 文件)。我构建了三个不同的程序,它们具有独特的用途。
我将我的程序聚合到一个 .py 文件中,这样我就可以在 python 的实际 运行 实例中使用 'import',然后一个一个地浏览文件:
>>>import xml
>>>xml.a()
>>>xml.b()
>>>xml.c()
我怎样才能即时向这些程序传递参数?以这种方式调用程序后放置参数时出现语法错误。
>>>xml.a() file1.xml file1.csv
^
>>>SyntaxError: invalid syntax
您将参数传递给 Python 中的函数,方法是将它们放在括号之间(这些称为 "parameters," see documentation)。所以你需要修改你的函数,以便它们可以接受参数(而不是从 sys.argv
读取),然后 运行 函数像:
my_library.py
def function1(filename):
print filename
口译员
>>> import my_library
>>> my_library.function1("file1.xml")
>>> file1.xml
如果你希望你的函数能够处理无限数量的参数(就像你可以使用 sys.argv
),你可以在参数列表的末尾使用 *
语法来捕获其余参数作为列表 (see documentation)。例如:
my_library.py
def function1(*filenames):
for filename in filenames:
print filename
口译员
>>> import my_library
>>> my_library.function1("file1.xml", "file2.csv", "file3.xml")
file1.xml
file2.csv
file3.xml