哪种方法可以连接文件并在Python中附加“New Line”?二进制模式还是文本模式?

时间:2018-03-28 19:35:20

标签: python python-3.x

我正在尝试将根目录中的多个文件连接到单个文件。但是我坚持这些问题:

  • 当我以文本文件模式打开每个文本文件时,输出文件显示 奇怪的人物,如日本人物。
  • 当我以二进制模式打开每个文本文件时,输出文件已被更正,除了我需要在每个附加的文本文件之前写一个“新行”。

我正在使用Python3,而我的操作系统是Windows 7。

我已经推进了以下代码:

import os, shutil

def concatFiles():  
    path = 'D:\\concat\\';
    scriptFullFilename = 'scriptFull.sql'
    if os.path.isfile(path + scriptFullFilename):
        os.remove(scriptFullFilename)   
    files = os.listdir(path);   
    filenames = [f for f in files if f.endswith('.sql')]    
    newLine = "\n"
    with open(path + scriptFullFilename, mode='wb') as outfile:     
        for fname in filenames:
            with open(fname,'rb') as source:                
                shutil.copyfileobj(source, outfile, 1024*1024*10)                           
    print('Done')

if __name__ == "__main__":
    concatFiles();

0 个答案:

没有答案