我要发送bash命令到我的计算机,因为flask使用subprocess.Popen函数...要执行的文件是python文件,但它需要三个值作为参数,最后一个值是字典,但是subprocess.Popen只接受str ..有没有办法发送这本词典?
myDict = {1:"a",2:"b"}
value1 = "data"
value2 = "data1"
bashCommand = "python script.py " + value1 +" "+value2+" "+myDict
process = subprocess.Popen(bashCommand.split(), stdout=subprocess.PIPE)
output, error = process.communicate()
bashCommand =“ python script.py” + value1 +“” + value2 +“” + myDict TypeError:必须为str,而不是dict
答案 0 :(得分:0)
将字典{1:"a",2:"b"}
作为字符串传递到script.py
。
Script.py
最有可能将字符串解析为字典。例如,使用json
模块:
Python 3.5.2 (default, Jul 10 2019, 11:58:48)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> json.loads('{"1":"a","2":"b"}')
{'2': 'b', '1': 'a'}
>>>