Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python文件IO';w';vs';wb&x27;_Python_Text_Binary_Ascii - Fatal编程技术网

Python文件IO';w';vs';wb&x27;

Python文件IO';w';vs';wb&x27;,python,text,binary,ascii,Python,Text,Binary,Ascii,想知道从Python编写文件时真正的区别是什么。从我所能看到的情况来看,如果我使用w或wb我会得到与文本相同的结果 我认为保存为二进制文件将在十六进制编辑器中只显示二进制值,但它也会显示文本,然后显示该文本的ASCII版本 在保存文本时,两者是否可以互换使用?(Windows用户)仅在Windows中,在后一种情况下,.write('\n')写入一个值为10的字节。在前一种情况下,它写入两个字节,值为13和10 您可以通过查看生成的文件大小并在十六进制编辑器中检查文件来证明这一点 在POSIX相

想知道从Python编写文件时真正的区别是什么。从我所能看到的情况来看,如果我使用
w
wb
我会得到与文本相同的结果

我认为保存为二进制文件将在十六进制编辑器中只显示二进制值,但它也会显示文本,然后显示该文本的ASCII版本


在保存文本时,两者是否可以互换使用?(Windows用户)

仅在Windows中,在后一种情况下,
.write('\n')
写入一个值为10的字节。在前一种情况下,它写入两个字节,值为13和10

您可以通过查看生成的文件大小并在十六进制编辑器中检查文件来证明这一点


在POSIX相关的操作系统(UNIX、SunOS、MacOS、Linux等)中,
'w'
'wb'
之间没有区别。不,您不会得到相同的结果。在二进制编辑器中打开文件并查看行的结尾。好的,我注意到当使用“w”时,有一个添加的“\r”(回车)与换行符一起出现,但当使用“wb”时,没有“\r”。奇怪…@pj2452-不奇怪。这是使用
'b'
的定义(以及原始intnet of)。