python版osscmduploadfromdir遇到乱码的文件名就中断了
回2楼robertzh的帖子
问题是文件太多,层级太深,不知道是哪个文件的问题,错误信息里也不提示文件路径
-------------------------
Repython版osscmduploadfromdir遇到乱码的文件名就中断了
附上解决方案:
售后工程师 :osscmd中已经去做了相关编码,但还是有一些问题。
if prefix:
if prefix.endswith('/'):
object = '%s%s' % (prefix, object)
else:
object = '%s/%s' % (prefix, object)
content_type = ''
看代码这个地方出的意外
可以在这个地方加一个exception处理方式
改成
object = get_object_name(smart_code(local_file), smart_code(local_path))
if prefix:
- if prefix.endswith('/'):
- object = '%s%s' % (prefix, object)
- else:
- object = '%s/%s' % (prefix, object)
+ try:
+ if prefix.endswith('/'):
+ object = '%s%s' % (prefix, object)
+ else:
+ object = '%s/%s' % (prefix, object)
+ except:
+ print sys.exc_info()[0], sys.exc_info()[1]
+ print 'handle object name excpetion, skip'
+ continue
content_type = ''
queue.put((put_object, bucket, object, local_file, local_modify_time, is_replace, is_check_md5, content_type, multipart_threshold))
qsize = queue.qsize()
2015-07-02 16:46:07
阿里给出的解决方案和我想到的一样,只是跳过,没有参数可配置
赞0
踩0