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