python - 如何在不同的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)
所以在这个例子中,当用户输入一个偶数时,程序会启动子程序,然后会询问用户他的姓名和年龄。
现在我的问题是:如果我想把在子程序中输入的信息(姓名和年龄)带回给父程序,我该怎么做?
解决方案
使用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 进程中运行。
推荐阅读
- sumo - 相扑逻辑搜索查询
- amazon-web-services - 如何通过私有 IP 在浏览器中查看我正在运行的 docker 镜像?
- sql-server - 统计 SQL Server 中每个特定 xml 节点的级别数
- python - 如何在 SQLAlchemy 中不显式声明引擎和会话的情况下更新数据库
- php - isset 和 htmlspecialchars 之间没有空格
- obiee - OBIEE 创建自定义 JOIN 以拉入两个相同但具有不同数据的列
- c - gcc 中的 Arm 汇编程序调用
- html - 如何删除 Rmarkdown HTML 输出末尾的空格
- php - Laravel:时间相关的数据透视表
- java - 从后缀转换为中缀后如何计算算术转换?