繁体   English   中英

如何确定文件是否为只读

[英]How do i determine if a file is read only

我正在用 python 编写一个 shell,需要确定一个文件是否对当前用户是只读的。 我如何解释给定用户的os.stat(path)[0]<\/code> 。 这在 linux 上并非易事,您可能会因为用户组或其他人而获得写权限。 然后是用户在具有组写入的文件组中的用户的概念,但它是具有只读权限的所有者。 我需要它是跨平台的,所以它可以在 Mac Linux 和 Windows 上运行。

"

statinfo = os.stat(path, *, dir_fd=None, follow_symlinks=True)

对于那些在 Windows 上偶然发现此评论以查看如何检查文件是否为只读的用户,这是我在 Python 3.7.9 上测试的解决方案:

FILE_PATH = r"C:\temp\file.txt"


def is_file_read_only(path: str) -> bool:
    try:
        open(path, "w")
    except PermissionError:
        return True
    else:
        return False


read_only = is_file_read_only(FILE_PATH)
print(f'File is read only: {read_only}')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM