当我从(r,g,b)
返回script.py
值到正在运行的python脚本时,值会从script.py中的元组类型更改为runningscript.py中的整数类型。为什么会这样,如何将runningscript.py中的整数更改为元组?我正在使用subprocess.call()
将值返回到正在运行的脚本,并在Windows 10计算机上运行python 3.4。感谢。
来自运行脚本
color=subprocess.call('color_picker_v1.py',shell='True')
print(color)
color2=subprocess.call('color_picker_v1.py',shell='True')
print(color2)
new_im=ImageOps.colorize(im,color,color2)
返回整数类型错误
来自color_picker_v1.py的(上面的script.py) 颜色从颜色字典中返回为元组
答案 0 :(得分:0)
subprocess.call()
返回表示子进程成功的单个整数/字节,而不是函数返回的对象(如元组)。 (见https://docs.python.org/3.5/library/subprocess.html#subprocess.call)。
您可能想要做的是import
函数,而不是调用另一个脚本。请参阅示例https://en.wikibooks.org/wiki/Python_Programming/Modules#Making_a_program_usable_as_a_module。
如果您确定要使用subprocess
,则需要了解stdin
。仅仅因为它在终端/屏幕上打印了一个值,并不代表程序返回的内容。