锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
# 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