عندما يكون لديك العديد من الصفوف classes أو ال modules و تريد ان تنظمها على شكل حزم خاصة اذا كان لديك مشروع ينمو بسرعة كبيرة فمن الحكمة ان ننظمها في حزم وهذه العلمية تشبه وضع الصفوف classes و ال modules في نفس الدليل ومن أجل كل هذا سنقوم بشرح طريقة انشاء الحزم في بايثون .
خطوات لانشاء الحزم في بايثون
على كل حال ماسنقوم بكتابته على هذا الملف هو عبارات استيراد import جميع الصفوف الى حزمتنا.
انشاء حزمة بايثون
سنقوم باشاء حزمة ونقوم بتسميتها Animals حيث تحتوي على 2 module ونقوم بتسميتهما Mammals و Birds .
أولا نقوم بانشاء ديلي ونقوم بتسميته Animals
2.اضافة صفوف
الان نقوم بانشاء مصفوفتين، اولا نقوم بانشاء ملف Mammals.py داخل الدليلونقوم بكتابة الكود التالي بداخله.
الكود جد سهل حيث لدينا مصفوفة تحتوي على مجموعة من الحيوانات ونقوم بعرض تلك المجموعة .
ملاحظة : عند انشاء حزم بايثون يجب استراد المصفوفات عبر دالة import ولا يمكن تنفيذها مياشرة .
الان نقوم بانشاء ملف اخر ونقوم بتسميته Birds.py ونضعه داخل الدليل Animals ونقوم بكتابة الكود التالي بداخله .
هذاالكود مشابه للكود الأول .
3 اضافة ملف __init__.py الى الدليل
بعد انشاء هذا الملف نقوم بكتابة الكود التالي بداخله .
هذ اكل شيء وهكذا قمنا بانشاء حزمة اسمها Animals ولكي نقوم باختبارها نقوم بانشاء ملف test.py على نفس الدليل السابق ونقوم بكتابة الكود التالي بداخله .
خطوات لانشاء الحزم في بايثون
- انشاء دليل وتسميته باسم الحزمة المراد انشاءها
- وضع جميع الصفوف داخل الدليل
- انشاء ملف __init__.py داخل الدليل
على كل حال ماسنقوم بكتابته على هذا الملف هو عبارات استيراد import جميع الصفوف الى حزمتنا.
انشاء حزمة بايثون
سنقوم باشاء حزمة ونقوم بتسميتها Animals حيث تحتوي على 2 module ونقوم بتسميتهما Mammals و Birds .
- انشاء دليل خاص بالحزمة
أولا نقوم بانشاء ديلي ونقوم بتسميته Animals
2.اضافة صفوف
الان نقوم بانشاء مصفوفتين، اولا نقوم بانشاء ملف Mammals.py داخل الدليلونقوم بكتابة الكود التالي بداخله.
class Mammals: def __init__(self): ''' Constructor for this class. ''' #انشاء مجموعة من الحيونات self.members = ['Tiger', 'Elephant', 'Wild Cat'] def printMembers(self): print('Printing members of the Mammals class') for member in self.members: print('\t%s ' % member)
ملاحظة : عند انشاء حزم بايثون يجب استراد المصفوفات عبر دالة import ولا يمكن تنفيذها مياشرة .
الان نقوم بانشاء ملف اخر ونقوم بتسميته Birds.py ونضعه داخل الدليل Animals ونقوم بكتابة الكود التالي بداخله .
class Birds: def __init__(self): ''' Constructor for this class. ''' # انشاء مجموعة من الحيوانت self.members = ['Sparrow', 'Robin', 'Duck'] def printMembers(self): print('Printing members of the Birds class') for member in self.members: print('\t%s ' % member)
3 اضافة ملف __init__.py الى الدليل
بعد انشاء هذا الملف نقوم بكتابة الكود التالي بداخله .
from Mammals import Mammals from Birds import Birds
# استراد المصفوفات from Animals import Mammals from Animals import Birds # انشاء كائن للمصفوفة myMammal = Mammals() myMammal.printMembers() # انشاء كائن myBird = Birds() myBird.printMembers()
جلب مكتبة الملف المضغوط
ردحذفimport zipfile
إسناد المسار(سلسلة نصية) إلى متغير
path = "E://Sample.zip"
تعريف أساس التعامل مع الملف المضغوط!
File = zipfile.ZipFile(path)
-----------------
ملاحظة:: يمكن إضافة معطى parameter آخر إلى: zipfile.ZipFile(path)
فنفتح الملف في وضع القراءة read على سبيل المثال فتصبح على الشكل التالي:
File = zipfile.ZipFile(path, 'r')
------------------
الحصول على قائمة بأسماء الملفات الموجودة ضمن الملف المضغوط
NameList = File.namelist()
طباعة قائمة الملفات على الشاشة
print NameList
طباعة أسماء الملفات عاموديا ومرقمة
for number in range(len(NameList)):
print number, '|', NameList[number]
طباعة تعريف بما سنقوم به..
print "file name and information:"
طباعة خصائص الملف، إسم الملف وتاريخ التعديل والحجم بالترتيب:
for info in File.infolist():
print "file name: ", info.filename
print "date of modifing: ", info.date_time
print "size: ", info.file_size, "bytes"
print
أمر الطباعة print لوحده يعني طباعة سطر فارغ!
----------------------------
النتائج بالترتيب:
['Sample.txt', 'Sample.jpg']
0 | Sample.txt
1 | Sample.jpg
file name and information:
file name: Sample.txt
date of modifing: (2014, 9, 25, 15, 17, 12)
size: 31 bytes
file name: Sample.jpg
date of modifing: (2011, 12, 12, 18, 19, 48)
size: 28351 bytes
#zipfile