python使用shell命令并发送输出

时间:2018-08-02 07:56:56

标签: python shell command-line

我有一个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文件中使用命令。

非常感谢。

2 个答案:

答案 0 :(得分:2)

请不要使用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文件。

答案 1 :(得分:0)

您可能要使用sys.argv来获取命令行参数。 看一下这个:https://www.pythonforbeginners.com/system/python-sys-argv

但是,也许您的问题已经在这里得到回答: Passing a List to Python From Command Line