因此,我试图在WebBrowser中打开一个URL,比方说来自python脚本的http://www.google.com。我的python脚本如下:
import os
string = "DISPLAY=:0 xdg-open http://www.google.com"
os.system(string)它返回错误:xdg-open: no method available for opening 'http://www.google.com'
但是,如果我将DISPLAY=:0 xdg-open http://www.google.com输入到LXTerminal中,效果会很好。它还通过SSH远程工作。
有什么想法吗?另外,有人能向我解释为什么命令在终端中正常工作,但当您试图使用os.system()从Python脚本调用命令时,却不能这样做。
更新--仍然需要帮助--
注意:所有文件都位于/home/pi中
在经历了很多挫折之后,我想我应该尝试一下下面的方法。我创建了一个名为google.sh的文件。google.sh的代码如下:
#google.sh
DISPLAY=:0 xdg-open http://www.google.com当我使用./google.sh从LXTerminal调用这个程序时,它工作得很好!Great,所以现在让我们从名为test.py的python脚本调用它,它的代码如下所示:
# test.py
import os
string = "/home/pi/google.sh"
os.system(string)但是,由于某些原因,它仍然返回:xdg-open: no method available for opening 'http://www.google.com'
发布于 2017-01-10 02:25:28
这个怎么样?这个想法是打开一个顿悟窗口,5秒后关闭它。
import subprocess
from time import sleep
p = subprocess.Popen("exec epiphany-browser http://yahoo.com", stdout=subprocess.PIPE,shell=True)
sleep(5)
p.kill()
print("done")https://stackoverflow.com/questions/35120410
复制相似问题