在Python中连接文件和附加“新行”的正确方法是什么?二进制模式还是文本模式?

2024-04-25 22:57:49 发布

您现在位置:Python中文网/ 问答频道 /正文

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

  • 当我以文本文件模式打开每个文本文件时,输出文件显示 奇怪的字符像日本字符。你知道吗
  • 当我以二进制模式打开每个文本文件时,输出文件被更正,只是我需要在附加每个文本文件之前写一个“新行”。你知道吗

我用的是Python3,我的操作系统是windows7。你知道吗

我已升级到以下代码:

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();

Tags: 文件pathinforsqlifos模式

热门问题