我偶然发现了一些不是问题的东西,而是一些令人费解的东西.我正在复制一个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
Run Code Online (Sandbox Code Playgroud)
注意:我不是在寻找复制文件的方法.我将在稍后修改原始的xml文件(剪切和粘贴它的不同部分).
我认为问题是你打开文件的模式需要rb而不仅仅是r而wb不是w.(表示 - 使用二进制模式)
当它是rb- 像这样的字符串\r\n将保持这种方式,但当模式是r- 它们将成为\n.
简而言之 - 只需改变线条:
data = open(in_filename,'r').read()
out_file = open(out_filename,'w')
Run Code Online (Sandbox Code Playgroud)
至
data = open(in_filename,'rb').read()
out_file = open(out_filename,'wb')
Run Code Online (Sandbox Code Playgroud)
这有帮助吗?