热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在MacOSX中运行python脚本启动权限问题

我有一个简单的python脚本,该脚本正在从下载文件夹中移动文件。通过终端运行

我有一个简单的python脚本,该脚本正在从下载文件夹中移动文件。通过终端运行脚本时,脚本运行良好。当它通过启动运行时会发生此问题:

Traceback (most recent call last):
File "/Users/ben/Project/Automation/CleanDownload.py",line 11,in
for f in listdir(downloadFolder):
OSError: [Errno 1] Operation not permitted: '/Users/ben/Downloads/'

知道为什么吗?



如果您没有看到此结帐"OSError: [Errno 1] Operation not permitted" when installing Scrapy in OSX 10.11 (El Capitan) (System Integrity Protection)

和这个
https://apple.stackexchange.com/questions/339862/ls-operation-not-permitted-mojave-security

根据 Roger

进入系统偏好设置-> 安全性和隐私权

并授予对Terminal的完全磁盘访问权限。

https://discussions.apple.com/thread/8637915

,

您是否尝试授予/sbin/launchd完整磁盘访问权限?

,

这是我用来规避此问题的解决方法。我试图运行一个简单的Shell脚本,但是相同的解决方法将适用于Python脚本。概括地说,涉及的步骤是:


  • 创建一个名为例如的自动化应用程序具有单个bash脚本的run-script.app,可运行传递给它的任何文件

  • 通过安全性和隐私权为完整的自动化应用程序提供完整磁盘访问权限,或者手动运行它一次,然后在macOS提示输入权限时单击允许

  • 使用您要运行的任何脚本来调用automator应用程序

更多详细信息:


  • 无论您想运行什么脚本,请确保其可执行(使用chmod +x),并且在脚本顶部具有正确的#!行(例如#!/bin/bash) 。在此示例中,我将使用~/scripts/organize-screenshots.sh处的脚本将屏幕快照从桌面移动到Google云端硬盘目录:

#!/bin/bash
user_dir="/Users/soxley"
find "$user_dir"/Desktop -name 'Screen Shot *.png' -exec mv {} "$user_dir"/Google\ Drive/pictures/screenshots/ \;


  • 接下来,创建一个Automator应用程序:

    • 打开 Automator

    • 点击新文档

    • 选择应用

    • 点击选择

    • 选择实用工具>运行Shell脚本

    • 选择传递输入:作为参数

    • 输入/bin/bash -c "$1"作为脚本正文(请参见下面的屏幕截图)

    • 点击文件>保存,然后将应用保存到所需的位置(在此示例中为run-script.app



  • 接下来,运行刚刚手动创建的应用程序,以确保它具有所需的权限(您还可以在安全性和隐私权中为新应用程序授予完全磁盘访问权限强>):

    • 打开 Terminal.app

    • 执行命令open -a run-script.app organize-screenshots.sh

    • 当macOS询问应用程序是否可以访问您的桌面时,点击允许



  • 现在您可以在启动状态下配置脚本了。使用以下ProgramArguments更新您的.plist:

ProgramArguments

open
-a
/Users/soxley/scripts/run-script.app
/Users/soxley/scripts/organize-screenshots.sh

现在,您应该能够使用此应用程序作为包装程序运行任何脚本。
Automator Application Selection
Automator Application Content


推荐阅读
author-avatar
梦天使悠然
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有