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

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

Blackhacker

السؤال

أريد تغيير صلاحيات ملف معين على نظام لينكس (أريد إضافة +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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...