2009-10-13 6 views
0

En utilisant Python, comment définir un fichier en lecture seule lorsque le fichier se trouve sur un partage réseau (en cours de traitement à partir d'un serveur Windows 2003)? J'utilise Python 2.6.2 sous OS X (10.6.1).Comment faire un fichier réseau partagé en lecture seule en utilisant Python?

Le code suivant lève une exception (comme prévu) lorsque le chemin est local, mais os.chmod semble n'avoir aucun effet lorsque le chemin pointe vers un partage Windows.

import os, stat 

path = '/Volumes/Temp/test.txt' 

# Create a test file. 
open(path, 'w').close() 

# Make the file read-only. 
os.chmod(path, stat.S_IREAD) 

# Try writing to it again. This should fail. 
open(path, 'w').close() 
+0

Si vous essayez chmod à partir d'une fenêtre de commande OS X, cela fonctionne-t-il? Sinon, cela pourrait être une limitation de l'interopérabilité réseau. –

Répondre

0

Je suis assez sûr que vous devez avoir les paramètres appropriés sur votre serveur SAMBA local (/etc/samba/smb.conf) pour faire de ce la façon dont vous comporter l'intention. Il existe de nombreuses façons de contourner la vérification des autorisations si le fichier smb.conf n'est pas correctement défini.

Questions connexes