[英]Running python script in Mac OSX launchd permission issue
我有一个简单的 python 脚本,它正在从我的下载文件夹中移动文件。 当我通过终端运行该脚本时,它运行良好。 当它通过launchd运行时会发生此问题:
Traceback (most recent call last):
File "/Users/ben/Project/Automation/CleanDownload.py", line 11, in <module>
for f in listdir(downloadFolder):
OSError: [Errno 1] Operation not permitted: '/Users/ben/Downloads/'
任何想法为什么?
这是我用来规避此问题的解决方法。 我试图运行一个简单的 shell 脚本,但同样的解决方法也适用于 Python 脚本。 总结一下,涉及的步骤是:
更多细节:
chmod +x
)并且您拥有正确的#!
脚本顶部的行(例如#!/bin/bash
)。 在此示例中,我将使用~/scripts/organize-screenshots.sh
中的~/scripts/organize-screenshots.sh
将屏幕截图从我的桌面移动到我的 Google Drive 目录:#!/bin/bash
user_dir="/Users/soxley"
find "$user_dir"/Desktop -name 'Screen Shot *.png' -exec mv {} "$user_dir"/Google\ Drive/pictures/screenshots/ \;
/bin/bash -c "$1"
作为脚本的主体(见下面的截图)run-script.app
)open -a run-script.app organize-screenshots.sh
ProgramArguments
更新您的 .plist :<key>ProgramArguments</key>
<array>
<string>open</string>
<string>-a</string>
<string>/Users/soxley/scripts/run-script.app</string>
<string>/Users/soxley/scripts/organize-screenshots.sh</string>
</array>
如果您在 OSX 10.11 (El Capitan)(系统完整性保护)中安装 Scrapy 时还没有看到这个,请查看“OSError: [Errno 1] Operation not allowed”
还有这个https://apple.stackexchange.com/questions/339862/ls-operation-not-permitted-mojave-security
根据Roger 的说法,转到“系统偏好设置” ->“安全与隐私”
并为Terminal
提供 Full Disk Access。
您是否尝试过授予/sbin/launchd
全盘访问权限?
很长一段时间以来,我一直在为 Big Sur 打破这个问题。 对我有用的是以下内容:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.