在脚本之间返回值时,值从元组变为整数

2024-10-05 10:45:08 发布

您现在位置:Python中文网/ 问答频道 /正文

当我从script.py返回一个(r,g,b)值到正在运行的python脚本时,该值从script.py中的元组类型变为runningscript.py中的整数类型。为什么会这样,如何将runningscript.py中的整数更改为元组?我正在使用subprocess.call()将值返回到正在运行的脚本,并在windows10计算机上运行python3.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\u picker\u v1.py(上面的script.py) 颜色作为元组从颜色字典返回


Tags: py脚本true类型script整数shellcall
1条回答
网友
1楼 · 发布于 2024-10-05 10:45:08

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。仅仅因为它将一个值打印到终端/屏幕上,并不意味着程序返回的就是这个值

相关问题 更多 >

    热门问题