4

这是我试图在 Mac OS X 上运行的代码:

import getpass #Needed for fetching username
import shutil #Needed for moving Files
import os
var_username = getpass.getuser() #gets username and returns as variable
source_file = r"/Users/%s//Downloads/LogNLock/com.lognlock.loginhook.plist" %(var_username) #the destination of the source file
destination = r"/Library/LaunchAgents" #the target destination for the file to go
shutil.copy(source_file, destination) #moves the source file to the destination folder

而且我用谷歌搜索,无法弄清楚为什么它不起作用。背景信息:例如,当将文件从桌面移动到文档时它可以工作,但我认为我需要以某种方式获取 root 用户权限。我现在在管理员帐户上。

4

1 回答 1

13

您尝试将文件复制到的文件夹的权限没有打开到足以让您以运行脚本的用户身份执行此操作。这不是真正的 Python 问题。您需要授予用户对该文件夹的写入权限,或者您需要以 root 身份运行脚本。

以 root 身份运行脚本:

sudo python your_python_script.py

我相信你需要成为管理员用户才能工作。“sudo”是一个命令,意思是“以超级用户身份执行此操作”。

要更改文件夹的权限,您可以尝试

sudo chmod a+rw /path/to/folder/that/you/want/to/write/to

同样,您将以超级用户身份执行此操作,chmod 是更改文件或目录权限的命令。'a+rw' 翻译为'授予所有用户读/写权限。这可能是一个坏主意......但听起来你只是在你的机器上本地运行它。

于 2012-06-20T22:51:10.540 回答