运行其他文件时如何添加Python字典作为命令行参数?

问题描述 投票:0回答:1

我正在使用

subprocess.call()
方法从另一个 python 文件运行一个 python 文件。

import job_parser

job_info=dict()

job_info['key1']='v1'

job_info['key2']='v2'

job_command="python job_parser.py --job {0}"

subprocess.call(job_command.format(job_info).split())

这里我想把这个

job_info
字典放入
job_command
中。稍后我将在
job_parser.py
中解析这个参数并将其用作字典。 我尝试执行
json.dumps()
并转换为原始字符串,这些方法不起作用。 预先感谢

python linux python-2.7 ubuntu dictionary
1个回答
0
投票

subprocess 模块用于调用外部命令,例如您想要运行操作系统命令或任何可以使用 subprocess 模块的外部文件。

如果你想从另一个Python脚本调用一个Python脚本,你可以导入Python模块并从导入的Python模块中调用所需的函数。

在您的情况下,您可以定义一个函数调用

entry_point
,它就像您想要在
job_parser.py
中执行的任务的入口点。

job_parser.py

def entry_point(input_dict):
    # do_your_stuff

然后你在脚本中像这样调用这个函数

import job_parser

job_info=dict()

job_info['key1']='v1'

job_info['key2']='v2'

job_parser.entry_point(job_info)
© www.soinside.com 2019 - 2024. All rights reserved.