下面的代码适用于python 2.7.13

import os
with open('random.bin','w') as f:
    f.write(os.urandom(10))

但是对于Python3抛出了错误

文件(回溯):最近的回溯

行为上有差异的原因或如何解决

推荐答案

在Python3中,以二进制或文本模式打开文件会有所不同.只需添加b标志,使其成为二进制:

with open('random.bin','wb') as f:

这在Python2中也适用.

Python-3.x相关问答推荐

Pandas groupby基于索引的连续列值相等

一种基于绝对排序值的极框索引和列定位的Python方法

无法使用Python slack 螺栓SDK读取在 slack 通道中收到的消息

按小时和日期对Pandas 数据帧进行分组

使用递归将int转换为字符串

我正在try 从 10*3 矩阵中删除随机值并将其变为 10*2 矩阵

错误:无法为 pyconcorde 构建轮子,这是安装基于 pyproject.toml 的项目所必需的

在REPLACE INTO中引用变量会抛出sqlite3.OperationalError

基于其他列的条件向Panda数据框中添加值到新列

如何提高 snowpark 程序的性能?

如何在类中的函数(以 self 作为第一个参数)中使用递归

在不使用字符串方法的情况下查找字符串最后一个单词的长度 - Python

无法在 macOS 上的 Anaconda3 python3.6 上安装 OpenCV3

Python 错误:IndexError:字符串索引超出范围

__new__ 方法给出错误 object.__new__() 只接受一个参数(要实例化的类型)

是否有与 Laravel 4 等效的 python?

如何使 Python3 成为 Geany 中的默认 Python

如何在python中创建代码对象?

python - Pandas - Dataframe.set_index - 如何保留旧的索引列

如何强制 Sphinx 使用 Python 3.x 解释器