代码:
file('pinax/media/a.jpg', 'wb')
原文由 zjm1126 发布,翻译遵循 CC BY-SA 4.0 许可协议
wb
表示文件以二进制模式打开写入。
当以二进制模式写入时,Python 在将数据写入文件时不会对数据进行任何更改。在文本模式下(当 b
被排除在 w
或者当你使用 wt
指定文本模式时,Python 将对文本进行编码)默认文本编码。此外,Python 会将行结尾 ( \n
) 转换为平台特定的行结尾,这会损坏二进制文件,如 exe
或 png
file .
因此,在编写文本文件时应使用文本模式(无论是使用纯文本还是基于文本的格式,如 CSV),而在编写非文本文件如图像时,必须使用二进制模式。
参考:
https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files https://docs.python.org/3/library/functions.html#open
原文由 Daniel G 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答989 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
文件模式,写入和二进制。由于您正在编写一个 .jpg 文件,因此它看起来不错。
但是,如果您应该阅读该 jpg 文件,则需要使用
'rb'
更多信息