使用Python,在这段代码中'wb'是什么意思?

时间:2010-04-19 07:43:06

标签: python file syntax

代码:

file('pinax/media/a.jpg', 'wb')

3 个答案:

答案 0 :(得分:81)

File mode,写和二进制。由于你正在写一个.jpg文件,它看起来很好。

但是如果你想阅读那个jpg文件,你需要使用'rb'

更多信息

  

在Windows上,“b”附加到模式   以二进制模式打开文件,所以   还有像'rb','wb'这样的模式,   和'r + b'。 Windows上的Python制作了一个   文本和二进制之间的区别   文件;中的行尾字符   文本文件会自动更改   稍微读取或写入数据时。   这种幕后修改   文件数据适用于ASCII文本   文件,但它会破坏二进制数据   像在JPEG或EXE文件中一样。

答案 1 :(得分:53)

wb表示文件已打开以便以二进制模式写入。

在Unix系统(Linux,Mac OS X等)上,二进制模式不执行任何操作 - 它们处理文本文件的方式与处理任何其他文件的方式相同。但是,在Windows上,文本文件的写入行略有修改。在处理实际二进制文件(如exejpg文件)时,这会导致严重问题。因此,在打开不应该是文本的文件时,即使在Unix中,也应该使用wbrb。仅对文本文件使用普通wr

参考:http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files

答案 2 :(得分:5)

这是您打开文件的模式。 “wb”表示您正在写入文件(w),并且您正在以二进制模式写入(b)。

查看文档了解更多信息:clicky