إدارة الملفات والمجلدات في بيثون Gestion des fichiers et dossiers dans python
سيوضح لك هذا الفصل كيفية تشغيل نظام الملفات ، أي
التبديل من مجلد إلى مجلد ، وملفات القائمة ، وإنشاء مجلدات ، وغير ذلك .
وحدة Le module 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
تعليقات
إرسال تعليق