0

因此,我试图http://www.google.com从 python 脚本在 Epiphany WebBrowser [比如说]中打开一个 URL。我的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.comLXTerminal 就可以了。它还可以通过 SSH 远程工作。

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

更新——仍然需要帮助

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

在经历了很多挫折之后,我想我会试试下面的方法。我创建了一个名为google.sh. s的代码google.sh如下:

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

./google.sh当我从 LXTerminal调用这个程序时,它工作正常!太好了,现在让我们从一个名为的 python 脚本中调用它,test.py其代码如下:

# test.py
import os

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

但是由于某种原因它仍然返回:xdg-open: no method available for opening 'http://www.google.com'

4

1 回答 1

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")
于 2017-01-10T02:25:28.233 回答