我想用参数执行脚本,这些参数必须发送到URL。
那么,主要问题是,如何完成这项任务?
这是我的测试脚本,我使用了sys.argv ...
#!/usr/bin/python
import sys, os
print "The name is :", sys.argv[0]
print "number of arguments :", len(sys.argv)
print "arguments are :", str(sys.argv)
答案 0 :(得分:0)
可以通过sys.argv数组访问脚本的参数。例如:
import sys
if len(sys.argv) == 3:
print "http://www.google.de?q=%s&%s" % (sys.argv[1], sys.argv[2])
else:
print "Usage: <Explain params here>"
可以通过sys.argv数组中的索引访问与命令行中的空格分隔的每个参数。
这是你要找的吗?
编辑:
如果你有一个更复杂的用例,你需要一个更复杂的argmument解析器,你可以使用python的argparse模块。
答案 1 :(得分:0)
类似(Python 3代码):
import webbrowser
import argparse
parser = argparse.ArgumentParser(description='Accept URL parameters on the command line.')
parser.add_argument('UserID', metavar='UID', type=str, nargs=1,
help='The User ID')
parser.add_argument('UserName', metavar='UName', type=str, nargs=1,
help = 'The User Name')
args = parser.parse_args()
url = 'http://stackoverflow.com/users/%s/%s' % (args.UserID[0], args.UserName[0])
print(url)
webbrowser.open(url)
听起来你想要非可选的命令行参数 - 所以argparse
似乎要走了,请参阅文档中的选项和参数等。