我偶然发现了一些不是问题,但相当令人费解的事情。我正在将 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 文件(剪切和粘贴它的不同部分)。
最佳答案
我认为问题在于您打开文件的模式需要是 rb
而不仅仅是 r
和 wb
而不是 w
。 (意味着 - 使用二进制模式)
当它是 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')
有帮助吗?
关于python文件复制给出更大的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12037273/