python - python使用shell命令并发送输出
问题描述
我有一个 python 文件名“a.py”和另一个 python 文件名“b.py”。我想在 b.py 文件中使用命令运行 a.py,并使用以下代码:
import os
def b():
os.system("python a.py")
但是 a.py 有一个列表名称“list_exam”,我想通过命令行代码将它传递给 b.py。我不知道如何在 a.py 中传递它以及如何在 b.py 文件中使用命令。
多谢。
解决方案
请不要使用 shell 命令来调用其他 Python 脚本,它既不高效也不可扩展。
如果a.py
:
def do_somthing(param1, param2):
...
list_exam = make_result()
return list_exam
def main(config):
do_something(config['param1'], config['param2'])
你可以b.py
这样写:
import a
def b():
list_exam = a.do_something(config['param1'], config['param2'])
不要忘记__init__.py
在该目录中创建一个文件。
推荐阅读
- azure - 在 Bicep 中使用 @decorators 作为对象类型的参数?
- adobe-indesign - 设计脚本。有没有办法从模板文件中检索母版页预览图像?
- powershell - CSV中的Powershell设置内容,如何使用变量
- java - 此行有多个标记 - Map.Entry 是原始类型。对泛型类型 Map.Entry 的引用
应该参数化 - php - 如何从 php 中的 xml 文件中删除 html 属性?
- javascript - 如何正确测试函数内部的调度。错误:预期 setSelectedDates 被调用一次,但被调用了 0 次
- python - ModuleNotFoundError:没有名为“oml.core.methods”的模块
- c# - 当我尝试使用 EF 在 ASP.NET MVC5 中查询视图时,为什么会收到错误“数据库 'ELITEPROD' 中的 CREATE TABLE 权限被拒绝”?
- java - 我正在尝试将自定义值分配给“字符串数组”中的“项目”
- python - pybind11 自定义类型分段错误