Skip to content

Instantly share code, notes, and snippets.

@lidaobing
Created September 8, 2010 12:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lidaobing/570046 to your computer and use it in GitHub Desktop.
Save lidaobing/570046 to your computer and use it in GitHub Desktop.
fixname.py
#!/usr/bin/env python
import sys
import logging
import os
def fixname(f, encoding):
newfname = f.decode('utf8').encode('iso8859-1').decode(encoding).encode('utf8')
os.rename(f, newfname)
logging.info('rename %s -> %s' % (f, newfname))
def main():
args = sys.argv[1:]
if not args:
sys.stderr.write('Usage: %s [--big5] FILE...\n' % os.path.basename(sys.argv[0]))
sys.exit(2)
encoding = 'gbk'
if args[0] == '--big5':
encoding = 'big5'
args = args[1:]
for f in args:
fixname(f, encoding)
if __name__ == '__main__':
logging.basicConfig(level=logging.INFO)
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment