0

我在写入文件时遇到问题 - 我想以字节为单位,所以我编写了一个代码:

read_file = open(data,"wb")#data is the path of the file
new_file.write(read_file.read)
read_file.close

它向我抛出了这个错误

TypeError: 'builtin_function_or_method' does not support the buffer interface

在第二行 ( new_file.write(read_file.read))

有人可以帮我吗?

此外,如果我将一些字节写入文件然后关闭它,然后再次将字节写入文件,它们将连接起来。例如,如果第一个字节是10101101,第二个字节是10111101,它们将被读取为1010110110111101

4

1 回答 1

0
read_file= open(data,"wb")#data is the path of the file
new_file.write(read_file.read)

应该

read_file= open(data,"rb")#data is the path of the file
new_file.write(read_file.read())

read_file.read是一个函数/方法,你想将一个字符串传递给new_file.write(). 通过调用 read .read(),您将就地创建一个包含文件内容的字符串。


关于如何将字节写入文件,.write("10101101")不会在输出中附加换行符。"\n"因此,所有后续写入都将出现在文件的同一行。要将它们放在换行符上,您可以拥有.write("10101101"+"\n")

于 2013-05-12T02:59:30.980 回答