Python 如何在新字符串上写入使用字节';wb&x27;模式

Python 如何在新字符串上写入使用字节';wb&x27;模式,python,python-3.x,Python,Python 3.x,我用字节数组在“wb”模式下工作 for i in range(len(mas)): message.write(mas[i]) 在我必须将数据写入新行上的文件后,例如“w”模式下的“\n” for i in range(3): message.write(str(i)) message.write("\n") >>>0 >>>1 >>>2 >>>3 如何执行此操作?要将字符串写入二进制文

我用字节数组在“wb”模式下工作

for i in range(len(mas)):
    message.write(mas[i])
在我必须将数据写入新行上的文件后,例如“w”模式下的“\n”

for i in range(3):
    message.write(str(i))
    message.write("\n")

>>>0

>>>1

>>>2

>>>3

如何执行此操作?

要将字符串写入二进制文件,如
“\n”
进入
wb
模式,必须首先调用
string.encode('utf-8')
或任何其他需要的编码

例如,要将消息写入二进制文件:

with open("a.txt", "wb") as f:
    line = str(0) + "\n\n"
    f.write(line.encode('utf-8'))
这将写入
0\n\n
。要将数字从0写到3,然后是空行,请执行以下操作:

with open("a.txt", "wb") as f:
    for i in range(4):
        line = str(i) + "\n\n"
        f.write(line.encode('utf-8'))
编码的换行符正确打印为换行符,因此以下换行符等效:

open('a.txt', 'w').write('\n')
open('a.txt', 'wb').write('\n'.encode('utf-8'))
open('a.txt', 'wb').write(b'\n')

要打印文字而不是换行符,请使用另一个反斜杠来转义反斜杠
\\n
或写入
r'\n'
以创建一个“原始”字符串。

我认为您需要在每个字节数组之后通过testring向文件写入一个换行符:

for i in range(len(mas)):
    message.write(mas[i])
    message.write(b"\n")
请注意,编写循环的一种更自然(Pythonic)的方法是直接在
mas
上迭代,而不是在一个范围上迭代然后索引。您还可以将两个
write
调用合并为一个调用:

for line in mas:
    message.write(line + b"\n")

这是Python 2还是Python 3?我知道。我需要在newline上的文件中写入数据(在文件中,而不是SHELL中)。上面的行不会向SHELL写入任何内容
f.write
写入
a.txt
文件。“\n”-以“w”模式传输到新行。我需要在“wb”模式下使用相同的命令。