diff options
Diffstat (limited to 'unix/unzip-gbk.py')
-rwxr-xr-x | unix/unzip-gbk.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/unix/unzip-gbk.py b/unix/unzip-gbk.py new file mode 100755 index 0000000..423e10f --- /dev/null +++ b/unix/unzip-gbk.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# unzip-gbk.py +# +# http://note.ninehills.info/linux-gbk.html +# + +import os +import sys +import zipfile + +print "Processing File " + sys.argv[1] + +file=zipfile.ZipFile(sys.argv[1],"r"); +for name in file.namelist(): + utf8name=name.decode('gbk') + print "Extracting " + utf8name + pathname = os.path.dirname(utf8name) + if not os.path.exists(pathname) and pathname!= "": + os.makedirs(pathname) + data = file.read(name) + if not os.path.exists(utf8name): + fo = open(utf8name, "w") + fo.write(data) + fo.close +file.close() |