所以我试图从一个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'
答案 0 :(得分:0)
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")