Разница в консоли Python3 и программном коде Python3 - PullRequest
0 голосов
/ 04 января 2019

Я пишу программу на python3.6 под PyCharm в Ubuntu 18.04. Я хочу открыть jpg-файл с конкретными координатами окна.Единственный возможный способ сделать это - использовать eog и wmctrl.

Я не нашел imageviewer, который мог бы разместить 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 filename .......»)

Делая то же самое с Pythone-консоли, она работает отлично,тоже.

Но: когда я делаю некоторые из программных кодов с

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-консоли я тожеse cmd =........... и os.system(cmd) после "import os"

1 Ответ

0 голосов
/ 04 января 2019

Извините: я решил это сам.

Требуется только пауза, прежде чем будет запущена команда wmctrl!

время импорта

time.sleep (2)выполняет задание (может быть, 1 секунды тоже достаточно)

(выполняя его на консоли, вы набираете паузу автоматически)

...