Comment puis-je me débarrasser de "IOError: 13, "Permission denied" sur Mac OS X
Voici mon Code que j'essaie de l'exécuter sur 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
Et j'ai googlé autour et ne peut pas comprendre pourquoi ça ne fonctionne pas.
Informations de fond: il fonctionne lorsque vous déplacez des fichiers depuis le bureau, de documents, par exemple, mais je pense que j'ai besoin de quelque sorte comment les privilèges d'utilisateur racine. im sur le compte de l'administrateur de la droite maintenant.
source_file = r"/Users/%s//..." <- 2 //'s Également la chaîne d'interpolation doit être juste % var_username ou % (var_username,)
OriginalL'auteur Simmrl | 2012-06-20
Vous devez vous connecter pour publier un commentaire.
Les autorisations pour le dossier que vous essayez de copier le fichier ne sont pas assez ouvert pour vous pour effectuer cette opération que l'utilisateur que vous exécutez le script avec. Ce n'est pas vraiment un Python question. Vous devez vous donner à l'utilisateur des autorisations d'écriture pour le dossier ou vous avez besoin pour exécuter le script en tant que root.
Pour exécuter le script en tant que root:
Je crois que vous aurez besoin de l'utilisateur Admin pour que cela fonctionne. 'sudo' est une commande qui signifie "faire en tant que super utilisateur".
Pour modifier les autorisations de votre dossier, vous pouvez essayer de
Encore une fois, vous le faites en tant que super-utilisateur, de la commande chmod est une commande pour changer les permissions d'un fichier ou d'un répertoire. a+rw' se traduit par 'donner à tous les utilisateurs en lecture/écriture. Ce pourrait être une mauvaise idée... mais il semble que vous êtes juste à l'exécution de la présente localement sur votre machine.
OriginalL'auteur aychedee