Считайте файл в новом терминале с 'терминалом гнома -'

Я хочу автоматизировать некоторые процессы для своей работы, таким образом, я wrighting сценарий Python, чтобы сделать это. Я хочу считать данные файла в новом терминале, таким образом, у меня есть функция на моем сценарии Python:

os.chdir("/home/andrej/Desctop/.kjk")
os.system(f"gnome-terminal -- 'cat site.txt'")

и у меня нет 'такого файла или каталога' ошибка. Как я крытый тростником терминал гнома не делает команды 'кошки', таким образом, я пишу другой файл Python, который должен считать данные для меня и распечатать их в новой консоли, но ошибка - то же.

os.chdir("/home/andrej/Desctop/.kjk")
os.system(f"gnome-terminal -- 'python3 read.py'")

Все работы отлично от того же терминала, откуда я выполнение управляю, но я просто наклон делаю это от нового.

Другой функции, работающие в новом терминале правильно, например:

os.system(f"gnome-terminal -e 'sshpass -p {self.spassw} ssh {self.username}@{self.ip}'")

Таким образом, как я могу просто считать файл из нового терминала гнома, или что я делаю неправильно?

0
задан 24 January 2020 в 22:23

1 ответ

gnome-terminal команда ожидает -- command дополнительно сопровождаться списком позиционных параметров. Когда Вы делаете

os.system(f"gnome-terminal -- 'cat site.txt'")

или

os.system(f"gnome-terminal -- 'python3 read.py'")

это пытается выполниться 'cat site.txt' или 'python3 read.py' как единственная команда, а не команда + аргументы.

Вместо этого можно сделать

import os,subprocess

os.chdir("/home/andrej/Desctop/.kjk")
subprocess.call(["gnome-terminal", "--", "cat", "site.txt"])

или

import os,subprocess

os.chdir("/home/andrej/Desctop/.kjk")
subprocess.call(["gnome-terminal", "--", "python3", "read.py"])

Ссылка:

0
ответ дан 30 January 2020 в 23:30

Другие вопросы по тегам:

Похожие вопросы: