webbrowser 模块的 open()方法

       webbrowser 模块的 open()函数可以启动一个新浏览器,打开指定的 URL。在交

互式环境中输入以下代码:

 >>> import webbrowser

>>> webbrowser.open('http://inventwithpython.com/')

       Web 浏览器的选项卡将打开 URL http://inventwithpython.com/。这大概就是

webbrowser模块能做的唯一的事情。既使如此,open()函数确实让一些有趣的事情成为可

能。

       让你的代码看起来像这样:

#! python3

# mapIt.py - Launches a map in the browser using an address from the

# command line or clipboard.

import webbrowser, sys

if len(sys.argv) > 1:

    # Get address from command line.

    address = ' '.join(sys.argv[1:])

 

# TODO: Get address from clipboard.

 

        在程序的#!行之后,需要导入 webbrowser 模块,用于加载浏览器;导入 sys 模

块,用于读入可能的命令行参数。sys.argv 变量保存了程序的文件名和命令行参数

的列表。如果这个列表中不只有文件名,那么 len(sys.argv)的返回值就会大于 1,这

意味着确实提供了命令行参数。

     命令行参数通常用空格分隔, 但在这个例子中, 你希望将所有参数解释为一个字符串。

因为sys.argv是字符串的列表,所以你可以将它传递给join()方法,这将返回一个字符串。

你不希望程序的名称出现在这个字符串中,所以不是使用sys.argv,而是使用sys.argv[1:],

砍掉这个数组的第一个元素。这个表达式求值得到的字符串,保存在address变量中。

如果运行程序时在命令行中输入以下内容:

      mapit 870 Valencia St, San Francisco, CA 94110

…sys.argv 变量将包含这样的列表值:

 ['mapIt.py', '870', 'Valencia', 'St, ', 'San', 'Francisco, ', 'CA', '94110']

address 变量将包含字符串'870 Valencia St, San Francisco, CA 94110'。

你可能感兴趣的:(webbrowser 模块的 open()方法)