【发布时间】:2019-12-06 01:31:55
【问题描述】:
在 Python 3.6 中,当我尝试使用权限为 '-r--r--r--'(在 CentOS7 中)的文件“打开('foobar',“r+b”)时,我得到一个权限失败: “builtins.PermissionError:[Errno 13] 权限被拒绝:'full/path/to/foobar'”
用“r”打开就好了,如果权限是“-rw-rw-rw-”,“r+b”就可以正常工作。
我确实需要以只读方式打开这些文件,我希望它们在目录中具有只读保护(这样它们就不会被其他代码无意中更改),并且我确实需要将它们读取为二进制文件。这是 Python 3.6 的功能/错误吗?
我想知道我是否做错了什么,或者如果没有,是否有一些解决方法。我真的很想避免现在升级到 3.8。
【问题讨论】:
-
“rb”怎么样?为什么要使用“+”来表示更新?
-
只是个脑残。毫不奇怪,用“rb”代替“r+b”一切都很好。
标签: python