2

我已经编写了一个 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

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

如何使脚本也针对用户输入运行?

4

1 回答 1

2

用于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()

在此处输入图像描述

于 2016-02-29T05:47:21.370 回答