اذهب إلى المحتوى

السؤال

نشر

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

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

 

Recommended Posts

  • 0
نشر

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

import os
import stat

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

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...