Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีเปลี่ยน Permission ของไดเรกทอรีใน Python

บนแพลตฟอร์มที่มีคำสั่ง chmod ใช้ subprocess:

>>> import subprocess
>>> subprocess.call(['chmod', '-R', '+w', 'my_folder'])

หรือใช้ os module เขียน recursive เอง:

import os

def change_permissions_recursive(path, mode):
    for root, dirs, files in os.walk(path, topdown=False):
        for dir in [os.path.join(root, d) for d in dirs]:
            os.chmod(dir, mode)
        for file in [os.path.join(root, f) for f in files]:
            os.chmod(file, mode)

change_permissions_recursive('my_folder', 0o777)

จะเปลี่ยน permission ของ my_folder, ไฟล์ทั้งหมด และซับโฟลเดอร์เป็น 0o777