سؤال

وأنا أحاول أن إنشاء مجلد وإنشاء ملف داخلها.

وكلما ط إنشاء هذا المجلد (عن طريق بيثون)، فإنه بإنشاء مجلد أن يعطيني أي أذونات على الإطلاق، ووضع للقراءة فقط.

عند أحاول إنشاء ملف أحصل على IOError.

Error:  <type 'exceptions.IOError'>

وحاولت خلق (والبحث) للحصول على وصف جميع وسائط أخرى (إلى جانب 0770).

ويمكن لأي شخص أن تعطيني الضوء؟ ما هي رموز وضع أخرى؟

هل كانت مفيدة؟

المحلول

وبعد إنشاء المجلد يمكنك تعيين الأذونات مع os.chmod

وهو مكتوب وزارة الدفاع في قاعدة 8، إذا كنت تحويله إلى ثنائي سيكون

000 111 111 000
    rwx rwx rwx

ووrwx الأول هو للمالك، والثاني هو لمجموعة والثالث هو للعالم

ص = قراءة، ث = الكتابة، س = تنفيذ

والأذونات ترى في أغلب الأحيان هي
7 القراءة / الكتابة / تنفيذ - تحتاج تنفيذ الدلائل لرؤية محتويات
6 قراءة / كتابة
4 للقراءة فقط

عند استخدام os.chmod يجعل اكثر احساسا لاستخدام التدوين ثماني لذلك

os.chmod('myfile',0o666)  # read/write by everyone
os.chmod('myfile',0o644)  # read/write by me, readable for everone else

وتذكر قلت لك نريد عادة الدلائل إلى أن "تنفيذ" حتى تتمكن من الاطلاع على محتويات.

os.chmod('mydir',0o777)  # read/write by everyone
os.chmod('mydir',0o755)  # read/write by me, readable for everone else

ملحوظة: بناء جملة 0o777 هو بيثون 2.6 و 3+. على خلاف ذلك سلسلة 2 هو 0777. 2.6 يقبل إما في بناء الجملة حتى واحد اخترت سوف يعتمد على ما إذا كنت تريد أن تكون إلى الأمام أو الخلف متوافق.

نصائح أخرى

وربما كنت قد حصلت على umask غير تقليدي. محاولة os.umask(0002) قبل اتخاذ الدليل الخاص بك.

والدليل بيثون يقول:

<اقتباس فقرة>
os.mkdir(path[, mode])
     

وإنشاء اسمه مسار الدليل مع وضع طريقة رقمية. الوضع الافتراضي هو 0777 (ثماني). على بعض الأنظمة، يتم تجاهل الوضع. حيث يتم استخدامه، هو ملثمين قيمة umask الحالية لأول مرة. التوفر:. يونيكس، ويندوز

هل تحديد الوضع - الوضع الذي لم تحدده. هل تنظر تحديد وضع صراحة؟ وما هو قيمة umask البرنامج لتعيين "

ومنذ الخاصة بك على ويندوز، وهذا قد يكون crapshoot. تأكد من عدم وجود أي أذونات خاصة أحمق على الدليل الأصل أو مع إعدادات السياسة التي تعرف الأذونات أي الدلائل التي تم إنشاؤها بواسطة حسابك الحصول عليها. أشك هذه مشكلة الثعبان كما لم أكن قادرا على إعادة إنشاء المشكلة على ويندوز فيستا مع الفانيليا نسبيا تثبيت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top