Skip to main content
 首页 » 编程设计

python文件复制给出更大的文件

2025年05月04日13qq78292959

我偶然发现了一些不是问题,但相当令人费解的事情。我正在将 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') 

有帮助吗?