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