首页 > 解决方案 > 如何在不同的python程序之间传递信息

问题描述

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

“家长”计划:

import file  #file is the child
import os
num=int(input("Enter number: "))
if num%2==0:
    os.system('python file.py')
else:
    pass

现在的“儿童”计划:

name=input("Enter Name: ")
age=int(input("Enter age: "))
print("Hi",name)

所以在这个例子中,当用户输入一个偶数时,程序会启动子程序,然后会询问用户他的姓名和年龄。

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

标签: python

解决方案


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

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)

myfile.py

def get_name_and_age():
    name=input("Enter Name: ")
    age=int(input("Enter age: "))
    print("Hi",name)
    return name, age
  • 注意:我根据您使用的子进程保留了您对上面“子”一词的使用——但此处显示的方法使用父进程和子进程。如果你这样做,一切都在同一个 python 进程中运行。

推荐阅读