首页 > 解决方案 > python3控制台和python3程序代码中的差异命令

问题描述

我在 Ubuntu 18.04 的 PyCharm 下用 python3.6 编写了一个程序,我想在特定的窗口坐标上弹出一个 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 控制台上我也使用 cmd =...........os.system(cmd)之后"import os"

标签: pythonubuntuos.systemwmctrl

解决方案


抱歉:我自己解决了。

它只需要在 wmctrl-command 被触发之前暂停!

进口时间

time.sleep(2) 完成工作(可能,1 秒也足够了)

(在控制台上做,通过打字你会自动暂停)


推荐阅读