我有很多CSV文件,我希望他们加入一个txt文件binary格式.. 
以下代码给出了上述错误:
import os
from csv import reader
from csv import writer
CONST_DATA_DIR = "F:/Data/"
CONST_DATABIN_DIR = "F:/DataBinary/"
def createFilesArr():
    filesArr = []
    os.chdir(CONST_DATA_DIR)
    for file in os.listdir("."):
        if file.endswith(".csv"):
            filesArr.append(file)
    return filesArr
filesArr = createFilesArr()
newFileName = "oneBinaryFile.txt"
newFile = open(CONST_DATABIN_DIR + newFileName, 'wb')
for file in filesArr:
    currentFile = open(CONST_DATA_DIR + file, 'r', newline='', encoding='UTF8')
    newFile.write(currentFile.read())
    currentFile.close()
newFile.close() 
编辑:
 
该CSV文件最初是写成一个txt类型.另一方面,合并文件应该是二进制格式.
创建CSV文件的过程很复杂,因此,如果可能的话,我更喜欢在阅读之前以某种方式转换文件.
有什么建议?
Python区分二进制和文本I/O.
newFile = open(CONST_DATABIN_DIR + newFileName, 'wb')
以二进制模式打开的文件(包括mode参数中的'b')将内容作为字节对象返回,而不进行任何解码.
currentFile = open(CONST_DATA_DIR + file, 'r', newline='', encoding='UTF8')
newFile.write(currentFile.read())
在文本模式下(默认情况下,或者当't'包含在mode参数中时),文件的内容将返回为str,字节首先使用平台相关编码进行解码,或者使用指定的编码(如果给定).
所有流都要注意您提供给它们的数据类型.例如,将str对象赋予write()二进制流的方法将引发一个TypeError.因此,将一个bytes对象赋予文本流的write()方法.