从列表作为参数的另一个Python脚本调用Python脚本?

时间:2018-03-21 02:57:44

标签: python

我正在尝试从另一个Python脚本scheduler.py运行Python脚本a.py,我希望将列表作为参数传递,如:

Scheduler.py:

t = {"code": 161123134, "name": "task2", "domain": "www.google.com", "type": "Type1", "keywords": ["bai2", "yin4", "jiao3", "yi8", "ping1", "tai3"]}

hourTasks = json.dumps(t)
os.system("python a.py " + hourTasks)

a.py

task = sys.argv[1:]
task = json.loads(task)

然而它给了我一个错误 JSON对象必须是str,bytes或bytearray,而不是' list' 。有谁知道问题是什么?

3 个答案:

答案 0 :(得分:1)

试试这个:

Scheduler.py:

import json
import subprocess

t = {"code": 161123134, "name": "task2", "domain": "www.google.com", "type": "Type1", "keywords": ["bai2", "yin4", "jiao3", "yi8", "ping1", "tai3"]}

task = json.dumps(t)
subprocess.call(["python", "a.py", task])

a.py:

import json
import sys                                                                                        

task = sys.argv[1]
t = json.loads(task)

答案 1 :(得分:0)

从一个脚本中你应该导入另一个脚本,并且不需要在你的两个脚本之间使用json,只需传递一个python dict。

答案 2 :(得分:0)

您可以使用dicts的方法来读取键和值。在此之前做一个柜台和会员检查。对于xs中的x: