在RPi2上的Python脚本中打开Epiphany中的URL

时间:2016-01-31 22:37:29

标签: python terminal midori

所以我试图从一个python脚本在Epiphany WebBrowser中打开一个URL [比如说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'

但是,如果我在LXTerminal中输入DISPLAY=:0 xdg-open http://www.google.com就行了。它也可以通过SSH远程工作。

任何想法?也有人可以向我解释为什么命令在终端中工作正常,但是当你尝试使用os.system()从Python脚本调用它们时却不行?

更新 - 需要帮助仍然

注意:所有文件都位于/home/pi

经过多次挫折之后,我想我会尝试下面的方法。我创建了一个名为google.sh的文件。 google.sh的代码如下:

#google.sh    
DISPLAY=:0 xdg-open http://www.google.com

当我使用来自LXTerminal的./google.sh调用此程序时,它运行正常! 很好所以现在让我们从名为test.py的python脚本中调用它,其代码如下:

# test.py
import os

string = "/home/pi/google.sh"
os.system(string)

但由于某种原因,STILL会返回:xdg-open: no method available for opening 'http://www.google.com'

1 个答案:

答案 0 :(得分:0)

这是怎么回事? 这个想法是打开一个顿悟窗口并在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")