python3控制台和python3程序代码中的差异命令

时间:2019-01-03 22:01:19

标签: python ubuntu os.system wmctrl

我在Ubuntu 18.04的PyCharm下用python3.6编写程序 我想在特定的窗口坐标上弹出一个jpg文件。唯一可行的方法似乎是使用eog和wmctrl。

我没有找到可以将jpg文件完全定位在我想要的位置的imageviewer(不是eog,qiv,..或其他,他们错过了这些选项)

所以我用 eog filename.jpg弹出。 然后wmctrl-command将其放置在屏幕上

在unix(Ubuntu)中的控制台上执行操作

eog filename.jpg-> eog将其居中弹出。

wmctrl -a filename.jpg -e 0,10,0,600,2000->将其放置在我想要的位置

(我从哪个目录调用eog都无所谓,它也可以位于目录/home/user/......(filename.jpg)中。对于wmctrl,在每种情况下,仅filename.jpg就足够了。(还有“ wmctrl -r filename ....可以工作”

通过Pythone-console进行相同的操作,它也可以完美运行。

但是:当我从程序代码中使用

cmd = "eog filename.jpg"

os.system(cmd)(或os.system("cmd"),以屏幕为中心的文件弹出窗口有效

但是:

cmd = "wmctrl -a filename.jpg -e 0,10,0,600,2000"

os.systems(cmd) ------->没有任何反应,好像os.system()命令被忽略了

任何想法,可能有什么不对之处表示赞赏!

(我首先想到,我遇到了文件名和特定字符的问题,但也遇到了诸如test.jpg之类的简单名称的问题。)

在Python控制台上,我也使用 cmd =...........os.system(cmd)之后的"import os"

1 个答案:

答案 0 :(得分:0)

对不起:我自己解决了。

仅需暂停一下才能触发wmctrl命令!

导入时间

time.sleep(2)可以完成工作(也许,一秒钟也足够)

(在控制台上进行操作,通过键入您会自动获得暂停)