李一颗@ Code

Simple is best.

A Stupid Way to Reverse Chinese File

#	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

posted on 2008-01-17 17:37 mai 阅读(187) 评论(0)  编辑  收藏 所属分类: Python


只有注册用户登录后才能发表评论。


网站导航: