PermissionError: [Errno 1] for os.rename as quick action

PermissionError: [Errno 1] for os.rename as quick action

本题代表解决另一个问题时遇到的最新问题。先解释一下当前的问题,把最初的难点留在最后。

os.rename(old_path, new_path)

Python 命令在 运行 在 Automator 中运行 Python 脚本时有效(使用 运行 按钮右上角)。

/usr/local/bin/python3 "/Users/user/Library/Scripts/move.py"

但是,当运行作为快速操作时,它会抛出错误

The action “Run Shell Script” encountered an error: “Traceback (most recent call last):
File "/Users/user/Library/Scripts/move.py", line 6, in <module>
os.rename(folder_path, folder_nath)
PermissionError: [Errno 1] Operation not permitted:

所有建议的解决方案都告诉我授予各种程序完整的磁盘访问权限。但是,在对终端、Finder、Automator 和 bash 执行此操作后,我仍然看到错误。我什至在 'Get info' 框中更改了要重命名的文件夹的权限。没有任何帮助。


这个问题似乎与我之前遇到的一个问题同构,另一个建议不能作为快速操作:

os.system("""/bin/mv \"""" + old_path + """\" \"""" + new_path + """\"""")

此命令适用于PyCharm;当我 运行 python 代码在 Automator 中包含它时(使用右上角的 运行 按钮),它起作用了。

/usr/local/bin/python3 "/Users/user/Library/Scripts/move.py"

但是,当我 运行 此工作流程作为由键盘快捷键触发的快速操作时,它 工作:快速操作显然与小齿轮旋转,但文件保持不变。

我已经解决了这个问题。当涉及到像这样的快速操作时,您需要为使用快速操作时打开的应用程序授予完整的磁盘访问权限。

因为我在使用 TextEdit 时使用这个快速操作,所以我需要授予 TextEdit 完整的磁盘访问权限。