我收到以下错误...。
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 =""
多谢你们
最佳答案
tarfile.is_tarfile
采用文件名,而不是文件对象。
如果您成功调用了tarfile.open
,则该路径指向一个tarfile。
请注意,通常的Python编码风格为
try:
optfile = tarfile.open(...)
except tarfile.ReadError:
# not a tarfile
通常在口号“ it's easier to ask forgiveness than permission”中进行总结。
关于python - 强制转换为Unicode:需要字符串或缓冲区,找到了TarFile,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9774434/