【发布时间】:2016-11-04 07:52:09
【问题描述】:
我将一个有效的 Python 字典作为参数传递给我的 Python 脚本。这是一组实验的一部分,因此我的脚本必须多次启动,并且在字典中具有不同的值。我正在使用远程机器,所以我求助于 GNU Parallel,它在过去对我很有帮助(是的,我引用了这篇论文 :)。
问题是,参数会被反复操纵,因此我需要使用引号和反斜杠来使我的参数正确且安全地到达。我的问题是:有没有更好的方法来做到这一点?
这是一个最小的 Python 脚本:
import ast
import sys
print(sys.argv[1])
print(ast.literal_eval(sys.argv[1]))
如果我运行以下命令,我会得到想要的结果:
parallel --header : python example.py '\{\"var1\":\ {var1},\ \"var2\":\ {var2}\}' ::: var1 1 ::: var2 2
输出:
{"var1": 1, "var2": 2}
{'var1': 1, 'var2': 2}
有没有更好的拼写字典的方法?
非常感谢您的帮助!
【问题讨论】:
标签: python bash gnu-parallel