初学Python常见的错误


1. TypeError: coercing to Unicode: need string or buffer, type found

Traceback (most recent call last):
  File "unzip.py", line 20, in <module>
    tar = tarfile.open(file)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py", line 1658, in open
    return func(name, "r", fileobj, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tarfile.py", line 1720, in gzopen
    fileobj = bltn_open(name, mode + "b")
TypeError: coercing to Unicode: need string or buffer, type found

代码为:

#扫描当前目前下所有的gz文件
currDir = os.getcwd()
files = os.listdir(currDir)
dstDir = "201301_09"
if not os.path.exists(dstDir):
    os.mkdir(dstDir)
for fileName in files:
    if os.path.isfile(fileName) and tarfile.is_tarfile(fileName):
        print fileName
        try:
            tar = tarfile.open(file)#这里应该是fileName而不是file
            names = tar.getnames()
            for name in names:
                tar.extract(name,path=dstDir)
            tar.close()
        except tarfile.ReadError:
            print "not a tarFile"
            pass

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM