使用命令行参数在系统浏览器中打开网址
我想要执行一个脚本,并且需要传递一些参数,这些参数必须放在网址里。
所以,主要的问题是,怎么才能做到这一点呢?
这是我用来测试的脚本,我使用了 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)
2 个回答
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 数组中的索引来获取。
这就是你想要的内容吗?
编辑:
如果你有更复杂的需求,需要一个更强大的参数解析器,可以使用 Python 的 argparse 模块。
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
这个库,具体的选项和参数可以查看它的文档。