1

問題ではなく、やや不可解なものに出くわしました。xml ファイルmyxml.xmlをにコピーしmyxml_copy.xmlていますが、出力ファイルのファイル サイズが大きくなっています。なぜそうなのかわかりません。これはファイルのエンコーディングと関係がありますか?

とにかく、私が使用しているコード (かなり些細なことですが):

from xml.dom.minidom import parseString
import sys

def parseXml():
    data = open(in_filename,'r').read()
    return data


try:
    in_filename = sys.argv[1]
    out_filename = sys.argv[2]

    out_file = open(out_filename,'w')
    out_file.write(parseXml())
    out_file.close()
except Exception,e:
    print "usage: python copy.py <in_file> <out_file>"
    print "Error",e

注:ファイルをコピーする方法を探しているわけではありません。後で元の xml ファイルを変更します (さまざまな部分を切り取って貼り付けます)。

4

1 に答える 1

7

問題は、ファイルを開くモードが andではなくrbandrである必要があることだと思います。(意味 - バイナリモード)wbw

-のときはrb文字列のようなものはそのまま\r\nですが、モードがr- のときは になり\nます。

要するに、次の行を変更するだけです。

data = open(in_filename,'r').read()
out_file = open(out_filename,'w')

data = open(in_filename,'rb').read()
out_file = open(out_filename,'wb')

それは役に立ちましたか?

于 2012-08-20T12:05:43.877 に答える