将字节列表写入文件,但是一些记录丢失了

时间:2019-01-17 13:48:08

标签: python byte

我是编程新手,写字节时遇到问题。这是我写的:

file = open('filePath/input.train', 'wb')
for i in range(len(myList)):
    file.write(bytes((myList[i]),'UTF-8'));

如果我在此处打印'i',则为629。

项目需要后缀“ .train”。为了检查它,我将其读取并写入txt文件:

file = open('filePath/input.train', 'rb')
content = file.read()
testFile = open('filePath/test.txt', 'wb')
testFile.write(content)

现在,问题是len(list)= 629,而我在test.txt文件中得到591行。后来给我带来了问题。

为什么会发生这种情况,我应该如何解决?

1 个答案:

答案 0 :(得分:0)

首先,在打开和写入文件时,需要记住在写入后关闭文件。像这样。

file = open('filePath/input.train', 'wb')
for i in range(len(myList)):
    file.write(bytes((myList[i]),'UTF-8'));
file.close()

第二秒,python代码不一定必须具有“;”

第三,file是python的关键字,所以不要使用file作为变量名。您可以使用fmy_file或任何人,但不要使用python的关键字。

第四,python有一个iterator,使用iterator胜过您的for i in range(len(xxx))

所有这些,您的代码可以看起来像这样。

f = open('filePath/input.train', 'wb')
for line in myList:
    f.write(bytes(line, 'UTF-8'))
f.close()