如何在Python中将变量发送到命令行
我有一个用如何在Python中将变量发送到命令行,python,linux,tkinter,Python,Linux,Tkinter,我有一个用tkinter编写的Python GUI,它在按下按钮时调用第二个函数。然后,此函数使用raw\u input()等待输入,然后对结果执行操作。i、 e.函数的格式为: DO THINGS a = raw_input('Enter value: ') if int(a) == 0: do this elif int(a) == 1: do something else 从我的GUI中,我想发送值(0或1或更多选项),以便函数继续按照我的要求执行。我将通过按下tkint
tkinter
编写的Python GUI,它在按下按钮时调用第二个函数。然后,此函数使用raw\u input()
等待输入,然后对结果执行操作。i、 e.函数的格式为:
DO THINGS
a = raw_input('Enter value: ')
if int(a) == 0:
do this
elif int(a) == 1:
do something else
从我的GUI中,我想发送值(0
或1
或更多选项),以便函数继续按照我的要求执行。我将通过按下tkinter
中的按钮来执行此操作,但这并不重要,关键是如何将此值发送到命令行。
我已经研究了子流程.Popen
和子流程.communicate
:
和Pexpect
:
然而,我是Python和Linux的相对新手,无法让它们工作——也许它们是正确的,但我只需要为我的工作提供一个更具体的答案。我觉得这个问题应该很容易解决,但我就是不知道怎么解决。我也更愿意使用内置模块,因此如果可以在不使用
Pexpect
的情况下完成,那就太好了-我想我说得对,这不是Python初始安装的一部分。您真的需要程序发送的值显示在终端上吗?如果没有,最好将其保存在Python中。在这种情况下,您可以使用其他检查按钮或终端发送的值的内容来替换raw\u input
。您可以修改调用raw\u input()的函数的代码吗?如果是这样,就可以设置一个管道,子流程将输出到该管道,python脚本可以从中读取。不,我不需要显示该值-我确实想知道是否有更好的方法与函数通信-如果这是可能的,并且您有一个很好的示例!啊,我刚刚记得/重新发现,如果我在函数中不调用raw_input(),GUI将被冻结,因为它等待函数的返回-我解决这个问题的方法是调用raw_input(),它似乎再次释放了我的GUI-这个问题似乎比我最初想象的更复杂,首先,我可能需要一种不同的方法来调用GUI中的函数。任何建议都会有帮助。你真的需要你的程序发送的值出现在终端上吗?如果没有,最好将其保存在Python中。在这种情况下,您可以使用其他检查按钮或终端发送的值的内容来替换raw\u input
。您可以修改调用raw\u input()的函数的代码吗?如果是这样,就可以设置一个管道,子流程将输出到该管道,python脚本可以从中读取。不,我不需要显示该值-我确实想知道是否有更好的方法与函数通信-如果这是可能的,并且您有一个很好的示例!啊,我刚刚记得/重新发现,如果我在函数中不调用raw_input(),GUI将被冻结,因为它等待函数的返回-我解决这个问题的方法是调用raw_input(),它似乎再次释放了我的GUI-这个问题似乎比我最初想象的更复杂,首先,我可能需要一种不同的方法来调用GUI中的函数。任何建议都会有帮助。