如何在运行其他文件时添加python词典作为命令行参数?

时间:2017-08-02 05:49:46

标签: python linux python-2.7 ubuntu dictionary

我正在使用subprocess.call()方法从另一个python文件运行python文件。

import job_parser.py

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()并转换为原始字符串,这些方法无效。 在此先感谢

1 个答案:

答案 0 :(得分:0)

子进程模块用于调用外部命令,就像要运行os命令或任何可以使用子进程模块的外部文件一样。

如果你想从另一个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)