• 0

كيف أغير صلاحيات ملف معين عن طريق بايثون؟

أريد تغيير صلاحيات ملف معين على نظام لينكس (أريد إضافة +x) فجربت استخدام دالة chmod من وحدة os لكنني لم أنجح، فما سبب المشكلة؟

import os
import stat
os.chmod('myfile.txt', stat.S_IEXEC)

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يوجد عدة طرق لفعل ذلك في بايثون، والطريقة التي ذكرتها صحيحة لكن يوجد خطأ واحد صغير حيث عند استخدام دالة chmod يجب عليك تمرير الصلاحيات القديمة قبل تمرير الجديدة ويجب الفصل بين هاتين الصلاحيتين عن طريق رمز | ويمكنك الحصول على الصلاحيات القديمة للملف عن طريق دالة stat من os وبذلك ستكون الشيفرة الجديدة لمثالك كالتالي:

import os
import stat

statfile = os.stat('myfile.txt')
os.chmod('myfile.txt', statfile.st_mode | stat.S_IEXEC)

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن