python代码如何判断windows文件是否为只读?

将windows文件设为只读后,用open会报错 "PermissionError: [Errno 13] Permission denied"

是否有判断windows文件权限的方法?

linux下好像有os.access

windows下不知道

import win32api, win32con
myFile = r'C:\xxx.txt'
 
fileAtt = win32api.GetFileAttributes(myFile)
if (fileAtt & win32con.FILE_ATTRIBUTE_READONLY):
   #文件是只读
 

应该可以循环打开文件通过抛出异常来判断吧

可以通过 OS 模块的 stat 方法来判断, os.stat("文件路径") 这个方法可以得到文件的状态信息

是一个元组, 里面有九个元素, 其中第一个元素就是文件的权限信息

而 权限代码为 33060 的就是只读文件

....

...

...

import os

name = input(">>").strip()

nums = os.stat(name).st_mode
if nums == 33060:
    print("只读")

正常文件的权限是 33206 默认