Запуск скриптов python в nautilus

Я написал скрипт на Python, сделал его исполняемым и вставил в

~/.local/share/nautilus/scripts

Проблема в том, что моему скрипту нужны некоторые пользовательские данные, и пока он это делает, nautilus генерирует ошибку, говорящую

Enter your username: Traceback (most recent call last):
  File "/home/sumit/.local/share/nautilus/scripts/sms.py", line 30, in <module>
    username = input("Enter your username: ")
EOFError: EOF when reading a line

Однако скрипт отлично работает, когда я назначаю переменные в самой программе (без ввода данных пользователем).

Как заставить скрипт запускаться и для пользовательского ввода?


person Sumit Jha    schedule 29.02.2016    source источник
comment
Возможно, это помогает   -  person GAVD    schedule 29.02.2016


Ответы (1)


Используйте zenity для получения интерактивного пользовательского ввода (подробнее)

#!/usr/bin/env python

import subprocess

def get_interactive_input(title, text):
    try:
        result =  subprocess.check_output(['zenity','--entry','--title={}'.format(title),'--text={}'.format(text)])
        return result.strip()
    except subprocess.CalledProcessError as e:
        return None


def main():
    print get_interactive_input('asd', 'asdasd asdasd asdasdasd')


main()

введите здесь описание изображения

person Jossef Harush    schedule 29.02.2016