使用命令行参数在系统浏览器中打开网址

1 投票
2 回答
3388 浏览
提问于 2025-04-18 11:34

我想要执行一个脚本,并且需要传递一些参数,这些参数必须放在网址里。

所以,主要的问题是,怎么才能做到这一点呢?

这是我用来测试的脚本,我使用了 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这个库,具体的选项和参数可以查看它的文档。

撰写回答