Python mkdir me donner de mauvaises autorisations
Je suis en train de créer un dossier, créez un fichier à l'intérieur d'elle.
Chaque fois que je créer ce dossier (via Python), il crée un dossier qui me donne aucune autorisation et le mode de lecture seule.
Lorsque j'essaie de créer le fichier, je reçois un IOError.
Error: <type 'exceptions.IOError'>
J'ai essayé de créer (et de recherche) pour une description de tous les autres modes de transport (en plus de 0770).
Quelqu'un peut-il me donner la lumière? Quelles sont les autres codes de mode?
source d'informationauteur George Silva
Vous devez vous connecter pour publier un commentaire.
Après avoir créé le dossier, vous pouvez définir les autorisations avec
os.chmod
Le mod est écrit en base 8, si vous le convertir en binaire, il serait
La première
rwx
est pour le propriétaire, le deuxième est pour le groupe et le troisième est pour le monder=read,w=écriture,x=execute
Les autorisations que vous consultez le plus souvent, sont
7 lecture/écriture/exécution - que vous devez exécuter pour les répertoires pour voir le contenu
6 lecture/écriture
4 readonly
Lorsque vous utilisez
os.chmod
il est logique d'utiliser la notation octaledonc
Rappelez-vous ai-je dit que vous voulez généralement les répertoires "exécutable" de sorte que vous pouvez voir le contenu.
Remarque: La syntaxe de
0o777
est pour Python 2.6 et 3+. sinon pour la série 2, il est0777
. 2.6 accepte une syntaxe alors celui que vous choisissez dépend de si vous voulez être en avant ou en arrière compatible.Vous avez probablement un funky umask. Essayez
os.umask(0002)
avant de faire votre répertoire.Le Python manuel dit:
Avez-vous spécifié un mode qui mode ne vous spécifiez. Avez-vous pensez à spécifier un mode explicitement? Et qu'est-ce que le programme de l'umask valeur fixée à"
Depuis votre sur Windows, ceci peut être un coup de dés. Assurez-vous que il ne sont pas tous plus loufoques les autorisations spéciales sur le répertoire parent ou avec les paramètres de stratégie qui définit les autorisations de tous les répertoires créés par votre compte. Je doute que cela soit un python problème que je n'ai pas été en mesure de reproduire le problème sur Windows avec un relativement à la vanille Vista installer.