在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。
答案 0 :(得分:2)
您正在使用+
模式,该模式正在尝试打开文件进行更新。尝试不使用+
,它应该可以工作。
每个帮助:
'+'打开磁盘文件以进行更新(读取和写入)