2012-03-19 34 views
1

我收到以下错误....强迫为Unicode:需要字符串或缓冲区,tar文件发现

Traceback (most recent call last): 
    File "deploycommerce.py", line 56, in <module> 
    if tarfile.is_tarfile(optfile): 
    File "/usr/lib/python2.7/tarfile.py", line 2587, in is_tarfile 
    t = open(name) 
    File "/usr/lib/python2.7/tarfile.py", line 1658, in open 
    return func(name, "r", fileobj, **kwargs) 
    File "/usr/lib/python2.7/tarfile.py", line 1720, in gzopen 
    fileobj = bltn_open(name, mode + "b") 
TypeError: coercing to Unicode: need string or buffer, TarFile found 

当我尝试的乐趣下面...

optfile = tarfile.open(opt_tar_input,"r:gz") 
# ERROR THROWN IN FOLLOWING... 
if tarfile.is_tarfile(optfile): 
    # extract all contents 
    test ="" 

感谢球员

回答

0

tarfile.is_tarfile取文件名,而不是TarFile对象。无论如何,检查是多余的 - 如果它不是tar文件,tarfile.open会引发异常。

相关问题