كيفية انشاء حزمة بايثون

1
عندما يكون لديك العديد من الصفوف classes أو ال modules و تريد ان تنظمها على شكل حزم خاصة اذا كان لديك مشروع ينمو بسرعة كبيرة فمن الحكمة ان ننظمها في حزم وهذه العلمية تشبه وضع الصفوف classes و ال modules في نفس الدليل ومن أجل كل هذا سنقوم بشرح طريقة انشاء الحزم في بايثون .



خطوات لانشاء الحزم في بايثون

  • انشاء دليل وتسميته باسم الحزمة المراد انشاءها
  • وضع جميع الصفوف داخل الدليل 
  • انشاء ملف __init__.py داخل الدليل
هذا كل شئ الطريقة  جد سهلة ولا تتطلب عملية معقدة والملف__init__.py ضروري لان بايثون سيعرف بواسطته ان هذا الدليل عبارة عن حزمة بايثون وليس مجرد دليل او ملف  يحتوي على صفوف وملفات.
على كل حال ماسنقوم بكتابته على هذا الملف هو عبارات استيراد import جميع الصفوف الى حزمتنا.

انشاء حزمة بايثون
سنقوم باشاء حزمة ونقوم بتسميتها Animals حيث تحتوي على 2  module ونقوم بتسميتهما Mammals و Birds .

  1.  انشاء دليل خاص بالحزمة

أولا نقوم بانشاء ديلي ونقوم بتسميته 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
هذ اكل شيء وهكذا قمنا بانشاء حزمة اسمها Animals ولكي نقوم باختبارها نقوم بانشاء ملف test.py على نفس الدليل السابق ونقوم بكتابة الكود التالي بداخله .

# استراد المصفوفات 
from Animals import Mammals
from Animals import Birds
 
# انشاء كائن للمصفوفة 
myMammal = Mammals()
myMammal.printMembers()
 
# انشاء كائن 
myBird = Birds()
myBird.printMembers()

التعليقات

  1. جلب مكتبة الملف المضغوط
    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‬

    ردحذف