Python 3.6无法使用“ r + b”模式打开只读文件

时间:2019-12-06 01:31:55

标签: python

在Python 3.6中,当我尝试使用权限为'-r--r--r--'的文件(在CentOS7中)“ open('foobar',“ r + b”)时,得到一个权限失败: “ builtins.PermissionError:[Errno 13]权限被拒绝:'full / path / to / foobar'”

使用“ r”打开就可以,如果权限为“ -rw-rw-rw-”,则“ r + b”也可以正常工作。

我确实需要以只读方式打开这些文件,我希望它们在目录中具有只读保护(以便它们不会被其他代码无意更改),并且我确实需要将它们读取为二进制文件。这是Python 3.6的功能/错误吗?

我想知道我是否做错了什么,或者是否有一些解决方法。我真的很想避免现在升级到3.8。

1 个答案:

答案 0 :(得分:2)

您正在使用+模式,该模式正在尝试打开文件进行更新。尝试不使用+,它应该可以工作。

每个帮助:

  

'+'打开磁盘文件以进行更新(读取和写入)