python运行错误TypeError: unsupported operand type(s) for -: 'str' and 'str'

cut.py的内容如下:#-*-coding:utf-8-*-importImageimportsysimportos.pathfromdatetimeimport*im... cut.py的内容如下:

# -*- coding: utf-8 -*- import Image import sys import os.path from datetime import * import random import time IMAGE_BAKUP = "/few" #_CONTENT_TYPES = { '.png': 'image/png', '.gif': 'image/gif', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.jpe': 'image/jpeg' } _CONTENT_TYPES = { 'image/png': '.png', 'image/gif': '.gif', 'image/jpeg': '.jpg', 'image/jpeg': '.jpeg' } IMAGE_BAKUP = '' IMAGE_PATH = sys.argv[1] IMAGE_X1 = sys.argv[2] IMAGE_Y1 = sys.argv[3] IMAGE_X2 = sys.argv[4] IMAGE_Y2 = sys.argv[5] im = Image.open(IMAGE_PATH) #打开图片句柄 box = (IMAGE_X1,IMAGE_Y1,IMAGE_X2,IMAGE_Y2) #设定裁剪区域 region = im.crop(box) #裁剪图片,并获取句柄region region.save(IMAGE_BAKUP + datetime.now()+random.randint(0,99),) #保存图片 print int(time.time()); print '%s%s-%s%s'%(IMAGE_BAKUP,int(time.time()),random.randint(0,99), _CONTENT_TYPES[_CONTENT_TYPES])

运行后出错
展开
 我来答
百度网友faadf46
高粉答主

2020-04-27 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:74万
展开全部

python 错误提示TypeError: unsupported operand type(s) for //: 'str' and 'int'是设置错误造成的,解决方法为;

1、图片中没有定义numi但是print函数里面用了所以出现命令错误。

2、例中if num = 44;写成了num==44,没满足if应有的语法引起的错误。

3、例中字符串类型的数据不能相乘引起的错误。

4、python需要严格的遵循缩进缩进不正常会引起错误。

筱雨陌晚秋
2018-01-03 · 超过35用户采纳过TA的回答
知道答主
回答量:114
采纳率:68%
帮助的人:23.6万
展开全部

sys.argv获取的到的参数是字符串,应该使用int()或者float()转换成数字形式才能进行减法操作

这个错误是字符串不能相减

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
neosicifore
推荐于2017-11-18 · TA获得超过2258个赞
知道小有建树答主
回答量:446
采纳率:66%
帮助的人:498万
展开全部
试试了你的代码,没什么问题
另外根据你错误的提示“在str和str之间,无法使用-(减法)”
那么很可能你这里错了
IMAGE_X1 = sys.argv[2]
IMAGE_Y1 = sys.argv[3]
IMAGE_X2 = sys.argv[4]
IMAGE_Y2 = sys.argv[5]
这4个值应该就是str,但根据你的代码,应该要是int或float这类才对,你可以type一下这四个值,看是不是str,然后你自己手动设一下这四个值,或者强制转换一下IMAGE_X1 = int(sys.argv[2]),
再运行你的程序看看
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玩转数据处理
推荐于2018-01-03 · 数据处理,Python,dotnet
玩转数据处理
采纳数:1613 获赞数:3794

向TA提问 私信TA
展开全部
字符串和字符串不能相减,类型转换一下
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
183525594
2018-01-03 · TA获得超过2922个赞
知道大有可为答主
回答量:3664
采纳率:58%
帮助的人:2059万
展开全部
所有输入的参数应该先转为数值类型 比如 IMAGE_X1 = int(sys.argv[2])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式