﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-麦麦芎 @ Code-随笔分类-Python</title><link>http://www.blogjava.net/mainamaiya/category/29014.html</link><description>Simple is best.</description><language>zh-cn</language><lastBuildDate>Thu, 17 Jan 2008 11:05:45 GMT</lastBuildDate><pubDate>Thu, 17 Jan 2008 11:05:45 GMT</pubDate><ttl>60</ttl><item><title>A Stupid Way to Reverse Chinese File</title><link>http://www.blogjava.net/mainamaiya/archive/2008/01/17/176018.html</link><dc:creator>Mai</dc:creator><author>Mai</author><pubDate>Thu, 17 Jan 2008 09:37:00 GMT</pubDate><guid>http://www.blogjava.net/mainamaiya/archive/2008/01/17/176018.html</guid><wfw:comment>http://www.blogjava.net/mainamaiya/comments/176018.html</wfw:comment><comments>http://www.blogjava.net/mainamaiya/archive/2008/01/17/176018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mainamaiya/comments/commentRss/176018.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mainamaiya/services/trackbacks/176018.html</trackback:ping><description><![CDATA[<p></p><pre>#	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.</pre><pre>#Note::	This <span style="color: #0000ff">code</span> have some problem about chinese quotation marks,
#	cause it's has differnet between left and right. 
#	So when it been reversed, the result may "<span style="color: #8b0000">unreadable</span>":) Easy fixed but I ignored.
#	Also about 'Enter' key, ignored too.
#
#		writen by Mai 01/17/2008
# 

# -*- coding: cp936 -*-
<span style="color: #0000ff">import</span> <span style="color: #0000ff">sys</span>

<span style="color: #0000ff">class</span> revFileFont:
    readLines=[]
    inFile="<span style="color: #8b0000"></span>"
    outFileName="<span style="color: #8b0000"></span>"
    outList=[]
    <span style="color: #0000ff">def</span> __init__(self,fileName,outFile):
        self.inFile = <span style="color: #0000ff">open</span>(fileName,"<span style="color: #8b0000">r</span>")
        self.outFileName = <span style="color: #0000ff">open</span>(outFile,"<span style="color: #8b0000">w</span>")


    <span style="color: #0000ff">def</span> __readToList(self):
        self.inFile.seek(0)
        self.inFile
        for line in self.inFile:
            self.readLines.append(line.<span style="color: #0000ff">decode</span>("<span style="color: #8b0000">gbk</span>"))
        rangeList = len(self.readLines)
        self.readLines.reverse()
        for i in range(rangeList):
            rString = self.readLines[i]
            xi=len(rString)
            for xii in range(xi):
                <span style="color: #0000ff">if</span> rString[xi-xii-1]!=u'\n':
                   self.outList.append(rString[xi-xii-1])
            self.outList.append(u'\n')        

    <span style="color: #0000ff">def</span> DoIt(self):
	"<span style="color: #8b0000"></span>""Reverse file and <span style="color: #0000ff">write</span> it out."<span style="color: #8b0000"></span>""
        self.__readToList()
        for i in self.outList:
            self.outFileName.<span style="color: #0000ff">write</span>(i.<span style="color: #0000ff">encode</span>("<span style="color: #8b0000">gbk</span>"))
        self.inFile.<span style="color: #0000ff">close</span>()
        self.outFileName.<span style="color: #0000ff">close</span>()

<span style="color: #0000ff">if</span> __name__ == "<span style="color: #8b0000">__main__</span>":
    argc = len(<span style="color: #0000ff">sys</span>.argv)
    <span style="color: #0000ff">if</span> argc &lt;&gt; 3:
	<span style="color: #0000ff">print</span> 'Useage:',<span style="color: #0000ff">sys</span>.argv[0],' [inFile]',' [outFile]'
	<span style="color: #0000ff">sys</span>.<span style="color: #0000ff">exit</span>(1)
    test = revFileFont(<span style="color: #0000ff">sys</span>.argv[1],<span style="color: #0000ff">sys</span>.argv[2])
    test.DoIt()
   #<span style="color: #0000ff">print</span> test.outList
</pre><img src ="http://www.blogjava.net/mainamaiya/aggbug/176018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mainamaiya/" target="_blank">Mai</a> 2008-01-17 17:37 <a href="http://www.blogjava.net/mainamaiya/archive/2008/01/17/176018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>