Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中将变量发送到命令行_Python_Linux_Tkinter - Fatal编程技术网

如何在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中的函数。任何建议都会有帮助。