Mac: 运行python读取CSV出现 permissionError

在MAC机器里,之前一直运行程序在某个指定的目录下读取excel和csv文件,没有出现错误,有一天突然出现错误:permissionError:[Errno 1] Operation not permitted,

具体错误信息如下:

经过调查得知,在MacOS系统中,由于系统安全机制(如Gatekeeper和沙盒限制),Python默认情况下可能无法直接读取某些受保护路径下的CSV文件。

默认情况下受限制的路径

  1. 系统保护目录

    • /System

    • /Library (部分子目录)

    • /usr (除/usr/local外)

  2. 用户隐私目录

    • ~/Library (用户库目录)

    • ~/Documents (部分受保护子目录)

  3. 特殊应用目录

    • 其他应用沙盒内的文件

    • iCloud Drive中的部分文件(当未明确授权时)

    • onedrive在本地的映射目录

  4. 临时目录

    • /private/var 下的某些目录

应对措施:

1) 修改这些目录的访问权限

        chmod 644 文件名 # 读取和写入权限给文件所有者

        chmod 755 目录名 # 读取、执行和进入目录的权限给所有者

        不过,这么做很危险!! 不建议这么做!

2) 使用管理员权限运行python程序

        sudo python 你的脚本.py

3) 最简单有效而且安全的方法,就是将文件移到其他没有受限的目录下,例如:desktop等。 

你可能感兴趣的:(macos)