2019年11月20日 / 351次阅读 / Last Modified 2019年11月21日
内置函数
python的文件对象,有readable函数和writable函数,但判断文件在系统层面是否具有读写权限,这两个函数都用不上,open函数就够了。只要open函数没有抛出PermissionError的异常,文件就是可读或可写的。
-rw-r-----. 1 root root 8995 Nov 20 10:31 random9.jpg
这个文件,只有root可以读。
>>> f = open('random9.jpg')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [Errno 13] Permission denied: 'random9.jpg'
open的时候(默认的打开方式是r,read),就PermissionError,这样就可以判断文件是否可读了。
而在python中判断文件是否可写,就要以有写的方式调用open函数,比如w+或a等等。(open函数打开文件的方式汇总)
-rw-r--r--. 1 root root 6699 Nov 20 10:31 random8.jpg
这个文件,其它用户有read权限,但是不能写。
>>> f = open('random8.jpg', 'a')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
PermissionError: [Errno 13] Permission denied: 'random8.jpg'
依然是PermissionError异常,文件不可写。
当然,在python中还有其它判断文件读写权限的方式,只是本文介绍的这个方法,比较直观和简单。
-- EOF --
本文链接:https://www.pynote.net/archives/1535
《用open判断文件系统层面的读写权限》有1条留言
前一篇:Python的布尔操作
后一篇:open打开文件的方式总结
©Copyright 麦新杰 Since 2019 Python笔记
open函数慎用w参数,它会让文件原来的内容全部消失。 [ ]