34,800
社区成员




这代码怎么错?
错误信息:
Traceback (most recent call last):
File "V:\item\加密解密\mscode.py", line 83, in <module>
a=code(zl[1],a)
File "V:\item\加密解密\mscode.py", line 10, in code
with open(a,'rb') as a:
TypeError: expected str, bytes or os.PathLike object, not TextIOWrapper
代码:
#初始化
zz=[9,1,8,3,4]
zzs=5
def code(a,b):#a(str)b(list)
global zz
global zzs
global zl
with open(a,'a') as a:
a.write(f'\n{zl[2]}')
with open(a,'rb') as a:
a=list(a.read)
def zz1zf():
global zz
zz2=list(zz)
global zzs
global a
tick=0#转子指针
while True:#转子1转法
if tick==zzs:
break
else:#转
z=0#指针
while True:#改源文件
if z==len(a):
break
else:
a[z]=a[z]+zz2[tick]
zz2[tick]=zz2[tick]+1
if a[z]==256:
a[z]==0
z=z+1
tick=tick+1
del zz2
def zz2zf():
global zzs
global zz
zz2=list(zz)
global a
tick=0
while True:
if tick==zzs:
break
else:
if len(a)<int(zz2[tick]+1):
zz2[tick]=int(zz2[tick]-len(a))
qc=a[0:int(zz2[tick]+1)]
del a[0:int(zz2[tick]+1)]
a=a+qc
del qc
tick=tick+1
tick=0
while True:
if tick==len(b):
break
else:
if b[tick]=='1':
zz1zf()
elif b[tick]=='0':
zz2zf()
tick=tick+1
return a
def nocode(a):
pass
def user(a):#a是加密时输入的密码
global zzs
global zz
tick=0
while True:
if tick==len(a):
break
else:
if a[tick] in ['0','1','2','3','4','5','6','7','8','9']:
zzs=zzs+1
zz.append(int(a[tick]))
tick=tick+1
return list(str(''.join([bin(ord(c)).replace('0b', '') for c in a])))
while True:
zl=input()
zl=zl.split(' ')
if len(zl)==3:
if zl[0]=='code':
a=user(zl[2])
a=code(zl[1],a)
with open(f'{zl[1]}.vmpym','w') as b:
b.write(';'.join(a))
elif zl[1]=='deco':
pass
else:
print('nocommand')
else:
print('nocommand')