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

difference command in python3 console and python3 program code

我在Ubuntu18.04PyCharm下python3.6写了一个程序 我想在特定的 window 坐标上弹出一个 jpg 文件。唯一可能的方法似乎是使用 eog 和 wmctrl。

我没有找到能够将 jpg 文件准确定位到我想要的位置的图像查看器(不是 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 文件名......有效)

在 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-console 我也用 cmd =...........os.system(cmd)"import os"

之后

抱歉:我自己解决了

它只需要在 wmctrl 命令被触发之前暂停一下!

导入时间

time.sleep(2)干活(可能吧,1秒也够了)

(在控制台上执行,通过键入自动获得暂停)