2011-08-29 16 views
10

Geçerli dizin ağacımdaki tüm dosyalar için dosya iznini değiştirmek istiyorum. Her bir klasörü açmaya ve dosyaları açmaya ve os.chmod() kullanarak izni değiştirmeye çalışıyorum, ancak bir hata alıyorum.python dosyalarındaki izin değişikliği

import os 
import stat 

for files in os.walk('.'): 
     os.chmod(files,stat.S_IXGRP) 

alıyorum hatadır: hatalı os.walk kullanıyorsunuz

File "delhis.py", line 4, in ? os.chmod(files,stat.S_IXGRP) TypeError: coercing to Unicode: need string or buffer, tuple found 
+1

Hangi hata alıyorum? – Nobody

+1

Lütfen bize hangi bilgileri aldığınızı söyleyin. – lukad

+1

Hata nedir? –

cevap

24

.

for dirpath, dirnames, filenames in os.walk('.'): 
    for filename in filenames: 
     path = os.path.join(dirpath, filename) 
     os.chmod(path, 0o777) # for example 
aşağıdaki gibi yerine bir OS özgü işlev çağrısını kullanabilirsiniz
+0

tuple bulundu, chmod komutunu çalıştırmak yerine, geçerli kodunuzu 'print files 'olarak değiştirin – Ben