微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

tar.addfiletarinfo在python 2.7上正常工作,但在python 3中不能完全正常工作错误预期为类似于对象的字节,找到str

如何解决tar.addfiletarinfo在python 2.7上正常工作,但在python 3中不能完全正常工作错误预期为类似于对象的字节,找到str

当我在tarfiles(文件目录等)上使用python 2.7运行此代码时,其工作正常,但在python 3的相同tarfiles上运行相同的代码却无法完全正常。 python 3在 if elif 添加了一些tarfile,但在其上给出了typeError:序列项7:期望一个类似对象的字节,找到了str 加上python 3没有将某些目录视为目录,因此其他执行的不是elif。

tarinfo = tar.gettarinfo(name,arcname)
if fltr:
    tarinfo = fltr(tarinfo)
if tarinfo.isreg():
    with open(name,"rb") as f:
        tar.addfile(tarinfo,f)
elif tarinfo.isdir():
    if tarinfo.name != "." or sys.version_info >= (2,7): # workaround for Python v2.6
        tar.addfile(tarinfo)

else:
    tar.addfile(tarinfo)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。