我收到语法错误:
FileNotFoundError:[WinError 2]系统找不到指定的文件
运行以下代码时。
与我可以找到工作代码的UNIX相比,在我正在运行的Windows上很难找到一个解决此问题的好的方法。
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的,我已经尝试了使用子进程模块的代码,它们与我正在使用的代码相同,这是行不通的。
答案 0 :(得分:0)
Windows可能会被URL中的斜杠抛弃。我现在没有Windows机器,但是您可以尝试引用网址吗?
如果您能做到这一点会很好,但是执行此操作的正确python方法是使用webbrowser模块。像这样:
import webbrowser
url = "google.com"
webbrowser.open_new_tab(url)
关闭这些代码会比较棘手,但是我认为您的问题是此问题的重复,几乎完全相同的代码也适用于Windows。 因此,我认为您应该首先在此处搜索答案。
答案 1 :(得分:0)
替换
p1 = Popen('start http://stackoverflow.com')
使用
p1 = Popen('start http://stackoverflow.com',shell=True)
,以确保命令是通过外壳执行的。
如果传递单个字符串,则外壳程序必须为True(请参见下文),否则该字符串必须简单地命名要执行的程序而无需指定任何参数。