# ReversFile.py [infile] [outfile]
#
# A stupid way to reverse a chinese text file. just for fun.
# If you wanna get the same result, maybe you should only slipt
# input text file to character list and '.reverse' it,
# more simpler and clearer than this.
#Note:: This code have some problem about chinese quotation marks,
# cause it's has differnet between left and right.
# So when it been reversed, the result may "unreadable":) Easy fixed but I ignored.
# Also about 'Enter' key, ignored too.
#
# writen by Mai 01/17/2008
#
# -*- coding: cp936 -*-
import sys
class revFileFont:
readLines=[]
inFile=""
outFileName=""
outList=[]
def __init__(self,fileName,outFile):
self.inFile = open(fileName,"r")
self.outFileName = open(outFile,"w")
def __readToList(self):
self.inFile.seek(0)
self.inFile
for line in self.inFile:
self.readLines.append(line.decode("gbk"))
rangeList = len(self.readLines)
self.readLines.reverse()
for i in range(rangeList):
rString = self.readLines[i]
xi=len(rString)
for xii in range(xi):
if rString[xi-xii-1]!=u'\n':
self.outList.append(rString[xi-xii-1])
self.outList.append(u'\n')
def DoIt(self):
"""Reverse file and write it out."""
self.__readToList()
for i in self.outList:
self.outFileName.write(i.encode("gbk"))
self.inFile.close()
self.outFileName.close()
if __name__ == "__main__":
argc = len(sys.argv)
if argc <> 3:
print 'Useage:',sys.argv[0],' [inFile]',' [outFile]'
sys.exit(1)
test = revFileFont(sys.argv[1],sys.argv[2])
test.DoIt()
#print test.outList