os.system和webbrowser之间的区别

时间:2018-01-16 01:39:12

标签: python python-2.7 python-webbrowser

以下是使用python在浏览器上打开新网址的两种方法。

第一种方式是webbrowser模块。

webbrowser.open(url)

另一种方式是os.system(command)

command = "open -a Google\ Chrome url"
os.system(command)

那么上述方式之间的区别是什么?哪个更快?

我的电脑操作系统是macos

1 个答案:

答案 0 :(得分:1)

webbrowser.open()是一个方便的工具,在代码中不言自明,所以我会用它。它会尽力为你做所有的魔力 它需要多快?您是否发现自己同时打开了数百个网址?

os.system()是"低级"命令,除非你需要超出webbrowser能力的能力,否则更容易出错。 除非命令forks立即返回(就像大多数浏览器一样),否则它也会等待并挂起你的脚本,直到命令终止。

此外,它还需要命令(open)位于PATH上(因此更喜欢绝对路径,例如/usr/bin/open)并且可能并不总是您想要的路径,具体取决于脚本执行的位置。例如open为我openvt链接,因此对我不起作用。 (我需要xdg-open。)

所以webbrowser.open()会更便携。