2011-08-29 32 views
10

Tôi muốn thay đổi quyền đối với tất cả các tệp từ cây thư mục hiện tại của tôi. Tôi đang cố gắng mở mỗi thư mục và mở các tệp và thay đổi quyền sử dụng os.chmod(), nhưng gặp lỗi.quyền thay đổi tệp trong python

import os 
import stat 

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

Các lỗi tôi nhận được là:

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

lỗi gì bạn nhận được? – Nobody

+1

Vui lòng cho chúng tôi biết bạn nhận được gì. – lukad

+1

lỗi là gì? –

Trả lời

24

Bạn đang sử dụng os.walk không chính xác.

for dirpath, dirnames, filenames in os.walk('.'): 
    for filename in filenames: 
     path = os.path.join(dirpath, filename) 
     os.chmod(path, 0o777) # for example 
+0

để chứng minh, thay vì chạy chmod, thay đổi mã hiện tại của bạn thành 'tệp in' – Ben

0

Bạn thay vì có thể sử dụng một hệ điều hành cụ thể gọi hàm như sau:

os.system('chmod 777 -R *') 
Các vấn đề liên quan