القائمة الرئيسية

الصفحات

إدارة الملفات والمجلدات في بيثون Gestion des fichiers et dossiers dans python

إدارة الملفات والمجلدات في بيثون Gestion des fichiers et  dossiers dans python



سيوضح لك هذا الفصل كيفية تشغيل نظام الملفات ، أي التبديل من مجلد إلى مجلد ، وملفات القائمة ، وإنشاء مجلدات ، وغير ذلك .

وحدة Le module os

هذه الوحدة عبارة عن مكتبة مخصصة لاحتياجات إدارة الملفات والمجلدات. بالنسبة لجميع الأمثلة الواردة في هذا الدرس ، سيكون من الضروري استيراد الوحدة import os

 .

import os

مسار ملف / مجلد Le chemin des fichiers et dossiers

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

هناك نوعان من المسارات: المسار المطلق  الذي يبدأ من جذر نظام الملفات الخاص بك والمسار  النسبي  الذي يبدأ من المجلد الذي تتم قراءته.

لذلك إذا كنا في المجلد / home / rachidi ، فسيكون للملف المسمى projects.txt   في مجلد البرامج النصية  مسار مطلق:

/ home / rachidi / script / projet.txt

ومسار نسبي

Script / projet.txt

معالجة المسارات Manipuler les chemins

بالنسبة إلى python ، مسار  ( أو مسار ) ، فهو عبارة عن سلسلة ، لذلك هناك طرق للتلاعب بها .

أدعوك للتشاور مع المساعدة الخاصة بالوحدة os.path  :

>>> import os.path

>>> help( os.path )

فيما يلي أكثر الطرق فائدة :

abspath( path )           --    إرجاع مسار مطلق

basename(p)               --  إرجاع العنصر الأخير في مسار

commonprefix( list )      --  إ رجاع أطول مسار شائع في قائمة مسارات

dirname( p )              --  إرجاع المجلد الأصل للعنصر

exists( path )            --  اختبار ما إذا كان المسار موجودا

getaTime ( filename )    --  إرجاع تاريخ آخر وصول إلى الملف [os .sta  t( ) ]

getctime( filename )     --  إرجاع تاريخ آخر تغيير في بيانات التعريف للملف

getmTime (filename )     -- إرجاع تاريخ آخر تعديل للملف

getsize( filename )      --  إرجاع ذيل ملف (بالبايت)

isabs (s)                -- اختبار ما إذا كان المسار مطلقا

isdir (s)                -- اختبار ما إذا كان المسار عبارة عن مجلد

isfile( path )           --  اختبار ما إذا كان المسار ملفا عاديا

islink( path )           -- اختبار ما إذا كان المسار عبارة عن ارتباط رمزي

ismount( path )          --  اختبر ما إذا كان المسار نقطة تحميل

join(path, s )           --  إضافة عنصر إلى المسار الذي تم تمريره كمعلمة

normcase(s )             --  تطبيع حالة المسار

normpath(path )          --  تطبيع المسار ، ويزيل الشرطة المائلة المزدوجة ، إلخ.

Realpath (filename)       --  إرجاع المسار الأساسي لاسم الملف المحدد (إزالة الروابط الرمزية)

Samefile ( fi1, fi2 )     --   اختبر ما إذا كان مساران يشيران إلى نفس الملف الحقيقي

sameopenfile ( fi1, fi2 )  --   اختبار ما إذا كان كائنان مفتوحان في الملف يشيران إلى نفس الملف

split (p)                  --  يقسم مسارا. يقلب مجموعة

بعض الأمثلة على الاستخدام: Quelques exemples d'utilisation:

>>> import os

>>> path = " / home / rachidi /script /cgi – bin / index.py "

>>> os.path.dirname( path )

' / home /rachidi /script /cgi – bin '

>>> os.path.basename ( path )

 ' index.py '

>>> os.path.join ( path , " func " )

'/ home /rachidi / script / cgi - bin / index.py /func'

>>> os.path.split( path )

(' / home/ rachidi /script /cgi – bin ', 'index.py ' )

>>> os.path.abspath( "." )

'/home /rachidi '

سرد الملفات في مجلد Lister les fichiers des dossiers

من الممكن استرداد جميع عناصر المجلد من القائمة باستخدام listdir :

مثل :

>>> os.listdir (" /home / rachidi " )

[' .bash_history ', ' photo ', ' scripte.py ' ]

يتم إرجاع العناصر في قائمة وتتضمن مجلدات وملفات مخفية.

سرد العناصر بشكل متكرر Lister les éléments récursivement

كيفية عرض جميع العناصر الموجودة في مجلد بالإضافة إلى المجلدات الفرعية الخاصة به؟ مع الوظيفةwalk

Walk ( top , topdown = True , onerror = None , followlinks = False )

مثل :

# coding: utf - 8

 

import os

 

folder_path = " / mnt / box / file "

 

for path, dirs, files in os.walk( folder__path ):

    for filename in files :

        print( filename )

البحث عن العناصر حسب النمط Recherche d'éléments par motif

من الممكن استعادة المجلدات والملفات المقابلة لنمط.

*          --  أي تسلسل من الأحرف

?          --  أي شخصية

[]         --  أي حرف مدرج بين قوسين معقوفين

من الضروري استيراد الوحدة glob .

import glob

فيما يلي الطرق:

glob.glob(motif)       --  يسرد المجلدات والملفات المطابقة للنموذج

glob.iglob(motif)      --  نفس الكرة الأرضية ولكنها ترجع مكررا

مثل:

>>> glob.glob("  /home / rachidi / script / *.txt ")

['/ home/ rachidi /script / data.txt ' ]

معالجة العناصر Manipuler les éléments

os.makedirs( path     --   إنشاء جميع المجلدات بشكل متكرر في مسار إذا لم تكن موجودة

os.mkdir( path )      --   إنشاء المجلد الأخير في مسار. في حالة عدم وجود أحد المجلدات ، يتم إرجاع خطأ

os.remove(path)       --   يحذف الملف/المجلد المحدد

os.rename(old, new)   --   إعادة تسمية الملف / المجلد المحدد



الصفحة الرئيسية >> واجهه المستخدم الرسوميه بيثون Tkinter  Interface graphique Tkinter python       

تعليقات