Python 3-TypeError:不支持-:';int';和';str';
我正在尝试将python 2脚本转换为python 3,以下是脚本:Python 3-TypeError:不支持-:';int';和';str';,python,Python,我正在尝试将python 2脚本转换为python 3,以下是脚本: def encode(key, clear): enc = [] for i in range(len(clear)): key_c = key[i % len(key)] enc_c = chr(ord(clear[i] + key_c) % 256) enc.append(enc_c) return base64.urlsafe_b64encode("
def encode(key, clear):
enc = []
for i in range(len(clear)):
key_c = key[i % len(key)]
enc_c = chr(ord(clear[i] + key_c) % 256)
enc.append(enc_c)
return base64.urlsafe_b64encode("".join(enc))
def decode(key, enc):
dec = []
enc = base64.urlsafe_b64decode(enc)
for i in range(len(enc)):
key_c = key[i % len(key)]
dec_c = chr((256 + enc[i] - key_c) % 256)
dec.append(dec_c)
return "".join(dec)
当我运行该命令时,会出现以下错误:
Traceback (most recent call last):
File "./script", line 132, in <module>
payload=decode(p,payload)
File "./script", line 22, in decode
dec_c = chr((256 + enc[i] - key_c) % 256)
TypeError: unsupported operand type(s) for -: 'int' and 'str'
回溯(最近一次呼叫最后一次):
文件“/script”,第132行,在
有效载荷=解码(p,有效载荷)
文件“/script”,第22行,解码
dec_c=chr((256+enc[i]-键c)%256)
TypeError:-:“int”和“str”的操作数类型不受支持
我该如何解决这个问题?抱歉,我是python新手。来自
-:“str”和“int”的操作数类型不受支持
Python想告诉您什么(但很难找到一个好词)
对于它)是指不能将一串字母和数字连接到
一个文本字符串
为了避免这种情况,您可以将enc[i]
和key\u c
转换为int
dec\u c=chr((256+int(enc[i])-int(key\u c))%256)
或者将256转换为str
,然后将整个表达式返回到int
,这样它就可以被256dec_c=chr(int((str(256)+enc[i]-key_c))%256)模化。
注意,这可能不是您想要的结果。但是,您可以通过以下方式修复错误
-:“str”和“int”的操作数类型不受支持
Python想告诉您什么(但很难找到一个好词)
对于它)是指不能将一串字母和数字连接到
一个文本字符串
为了避免这种情况,您可以将enc[i]
和key\u c
转换为int
dec\u c=chr((256+int(enc[i])-int(key\u c))%256)
或者将256转换为str
,然后将整个表达式返回到int
,这样它就可以被256dec_c=chr(int((str(256)+enc[i]-key_c))%256)模化。
注意,这可能不是您想要的结果。但是,您可以通过这种方式修复错误您可以尝试使用
dec\u c=chr((256+int(enc[i])-key\u c)%256)
您可以尝试使用dec\u=chr((256+int(enc[i])-key\u c)%256)