如何在不同的python程序之间传递信息

如何在不同的python程序之间传递信息,python,Python,我想知道如何将信息从一个python程序传递到另一个python程序。基本上,我将打开一个python程序,它使用os.system(file)命令来执行另一个pytgon程序。让我们举一个例子: “家长”计划: 现在“儿童”计划: 因此,在本例中,当用户输入偶数时,程序启动子程序,子程序将询问用户的姓名和年龄 现在我的问题是:如果我想将在子程序中输入的信息(姓名和年龄)带回父程序,我该如何做?使用导入,您可以访问在另一个模块中定义的变量。但在这种情况下,干净的方法是将代码放入函数内的“子”[参

我想知道如何将信息从一个python程序传递到另一个python程序。基本上,我将打开一个python程序,它使用os.system(file)命令来执行另一个pytgon程序。让我们举一个例子:

“家长”计划:

现在“儿童”计划:

因此,在本例中,当用户输入偶数时,程序启动子程序,子程序将询问用户的姓名和年龄


现在我的问题是:如果我想将在子程序中输入的信息(姓名和年龄)带回父程序,我该如何做?

使用
导入
,您可以访问在另一个模块中定义的变量。但在这种情况下,干净的方法是将代码放入函数内的“子”[参见脚注],这样在导入模块时它就不会运行(通常应该在导入模块的顶部附近)但是当你真的想调用这个函数的时候——所以只有当你真的输入了偶数时才会问问题。例如:

main.py

import myfile

num = int(input("Enter number: "))
if num%2==0:
    name, age = myfile.get_name_and_age()
    print("The name is ", name)
def get_name_and_age():
    name=input("Enter Name: ")
    age=int(input("Enter age: "))
    print("Hi",name)
    return name, age
myfile.py

import myfile

num = int(input("Enter number: "))
if num%2==0:
    name, age = myfile.get_name_and_age()
    print("The name is ", name)
def get_name_and_age():
    name=input("Enter Name: ")
    age=int(input("Enter age: "))
    print("Hi",name)
    return name, age
  • 注意:我根据您正在使用的子流程保留了您对上面“child”一词的使用——但是这里显示的方法不使用父流程和子流程。如果您这样做,那么所有内容都在同一个python进程中运行

这是否回答了您的问题?程序通信的一种方式是通过其标准输入和标准输出流。或者,对于输入,您可以将参数传递给另一个脚本。在这两种情况下,我强烈建议您不要使用
os.system
,而是使用
子进程
模块。注意,
导入子进程
如果要将其作为单独的进程调用,则没有意义。实际上,理想情况下,您应该使用两个类似这样的python模块来编写它们,以便导入它们,并且它们的公共API公开您想要的任何功能。在这种情况下,只需沟渠
os
子流程
和导入文件;value=file.foobar(无论什么)你有
value
“现在我的问题是:如果我想把在子程序中输入的信息(姓名和年龄)带回父程序,我该怎么做?”,将内容保存到子程序中的文件中,在父程序中读取该文件。这将是多种方法之一,如果您的用例真的需要,您可以做一些更奇特的事情,比如套接字或IPC。这是否回答了您的问题?我问这个问题的主要目的是要有一个带有mysql数据库连接的主程序和这个子程序,这将是一个Tkinter用户界面,请注意,我希望它们是单独的程序,我需要一种方法将子程序中输入的信息恢复到原始程序中,然后更新数据库。谢谢大家的支持。和平!