0

这个周末我升级到 Mojave 10.14。MacOS 在此 Mojave 10.14 版本中引入了新的安全功能。一项功能识别尝试复制、修改或使用某些文件和服务的应用程序。Apple巧妙地完成了,但我相信这给了我一个错误。我的 python 脚本检索由受信任来源发送给我的邮件附件,并解析附件中的数据以进行进一步处理。我一直在使用 RichieHindle 的解决方案来查找直接子目录:

import os
def get_immediate_subdirectories(a_dir):
    return [name for name in os.listdir('/Users/userx/Library/Mail')
        if os.path.isdir(os.path.join(a_dir, name))]

在 High Sierra 版本中运行良好。仍然适用于其他目录。但是,使用此代码,我现在在终端和 Pycharm 中都收到错误(首先假设终端可能已被授权)。

OSError: [Errno 1] Operation not permitted: '/Users/userx/Library/Mail'

我认为这是 Apple 新的安全功能的结果。右键单击邮件目录后,我可以使用“显示信息”更改邮件子目录的共享权限。这无济于事。系统偏好设置安全和隐私也没有提供任何安慰。

问题1:我的假设是否被认为是正确的?

问题 2:如果是这样:在 Mojave 10.14 版本下访问 Mail 目录并列出其子目录和内容需要做什么或更改?

4

1 回答 1

1

假设是正确的。

用户可以通过将应用程序(例如终端、PYCharm)添加到系统偏好设置安全和隐私窗格中的新系统应用程序数据类别来预先批准它们。通过这样做,用户预先授权这些应用程序在没有提示的情况下访问他们所有的隐私敏感数据。相应地完成,它现在再次对我有用。(在这里找到答案)

于 2018-11-20T08:46:16.423 回答