Python:基于多个现有实体创建新实体的实现方法
解决方法
你完全可以在Python里把这两个值合并成需要的格式,两种简单的实现方式:
1. 直接在参数列表里拼接
不需要额外定义变量,直接在组装args的时候生成合并后的字符串:
args = [path, 'mogrify','-resize', f"{maxWidth}x{maxHeight}", '-quality', qualityNum, '-path', temp_dir, original_img_path]
这里用了Python的f-string格式化语法,会自动把maxWidth和maxHeight的值替换进去,生成类似900x1100的字符串。
2. 先定义maxSize变量再使用
如果这个合并后的字符串需要在多处复用,可以先单独定义:
# 两种拼接方式任选一种 maxSize = f"{maxWidth}x{maxHeight}" # 或者用基础字符串拼接:maxSize = maxWidth + 'x' + maxHeight args = [path, 'mogrify','-resize', maxSize, '-quality', qualityNum, '-path', temp_dir, original_img_path]
额外说明:如果想在JSON里新增maxSize
也可以直接在JSON配置里添加这个字段,格式要正确:
{ "maxWidth": "900", "maxHeight": "1100", "qualityNum": "90", "maxSize": "900x1100" }
然后在Python里直接获取:
maxSize = prefs.get('maxSize', '600x600')
但这种方式不如代码拼接灵活,因为修改maxWidth或maxHeight后,还要手动同步maxSize的值,代码拼接则会自动更新。
内容的提问来源于stack exchange,提问作者LostOnTheLine
相关产品推荐
相关产品推荐

