密码:
file('pinax/media/a.jpg', 'wb')
文件模式 ,写入和二进制。
但是如果你想要读取那个 jpg 文件,你需要使用 'rb'
'rb'
更多信息
在 Windows 中,“ b”附加到模式中 以二进制模式打开文件,因此 还有像‘ rb’,‘ wb’, 和‘ r + b’ 文本和二进制之间的区别 文件中的行结束字符 文本文件会自动修改 当数据被读或写的时候。 这个幕后修改到 文件数据适用于 ASCII 文本 但会破坏二进制数据 像在 JPEG 或 EXE 文件。
这是打开文件的模式。 “ wb”表示正在写入文件(w) ,并且正在以二进制模式(b)写入。
有关更多信息,请查看文档: 咔嚓
wb表示以二进制模式打开文件进行写入。
wb
当以二进制模式编写时,Python 在将数据写入文件时不会对数据进行任何更改。但是,在文本模式下(当 b被排除在外时,如同在 w中那样,或者当您使用 wt指定文本模式时) ,Python 将基于默认的文本编码对文本进行编码。另外,Python 会将行结束符(\n)转换为特定于平台的行结束符,这会损坏二进制文件,如 exe或 png文件。
b
w
wt
\n
exe
png
因此,在编写文本文件时应该使用文本模式(无论是使用纯文本还是基于文本的格式(如 CSV)) ,而在编写非文本文件(如图像)时必须使用二进制模式。
参考文献:
Https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files Https://docs.python.org/3/library/functions.html#open
是啊,很多人都搞不清楚“ B”是什么 实际上在计算机编程中有各种数据类型; “ b”是“ byte”数据类型,长8位; 当你打开一个图像文件,你可以看到“{0xFF,0xF0,0x0F,0x11}”这种文本和它的字节数据; 是的,没错,“ b”表示二进制数据,但是“ b”的另一个意思是“ byte”数据,在 Python 中,“ wb”表示“ write + byte”。