尝试在浏览器中打开URL时,系统找不到指定的文件

问题描述 投票:1回答:2

我得到语法错误:

FileNotFoundError:[WinError 2]系统找不到指定的文件

运行以下代码时。

在我运行的Windows上找到一个很好的解决这个问题的方法有点困难,而UNIX我可以找到工作代码。

from subprocess import Popen, check_call



p1 = Popen('start http://stackoverflow.com/')

p2 = Popen('start http://www.google.com/')

p3 = Popen('start http://www.facebook.com/')



time.sleep(60)

for pid in [p1.pid,p2.pid,p3.pid]:

    check_call(['taskkill', '/F', '/T', '/PID', str(pid)])

我希望代码打开页面60秒然后关闭它们。

我知道链接上有类似的主题:

,但首先是python 2,我使用子进程模块尝试了代码,它们与我使用的代码相同,但不起作用。

python-3.x windows subprocess popen
2个回答
0
投票

Windows可能会被URL中的斜杠抛出。我现在没有Windows机器,但你可以尝试引用网址吗?

如果你有这个工作会很好,但正确的python方法是使用webbrowser模块。像这样:

import webbrowser 

url = "google.com"
webbrowser.open_new_tab(url)

关闭这些会更棘手,但我认为你的问题是重复的,几乎完全相同的代码,也适用于Windows。所以我认为你应该先在那里搜索你的答案。

How to close an internet tab with cmd/Python?


0
投票

更换

p1 = Popen('start http://stackoverflow.com')

p1 = Popen('start http://stackoverflow.com',shell=True)

确保命令通过shell执行。

如果传递单个字符串,则shell必须为True(参见下文),否则字符串必须简单地命名要执行的程序而不指定任何参数。

资料来源:https://docs.python.org/3/library/subprocess.html

© www.soinside.com 2019 - 2024. All rights reserved.