在nautilus中运行python脚本

时间:2016-02-29 05:31:42

标签: python eof 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

但是,当我在程序中分配变量(没有任何用户输入)时,脚本工作正常。

如何让脚本也为用户输入运行?

1 个答案:

答案 0 :(得分:2)

使用zenity获取交互式用户输入(read more

#!/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()

enter image description here