شرح مكتبة FTP في البايثون | FTPLIB Python

    شرح مكتبة FTP في البايثون | FTPLIB Python

    نبذة حول ftplib

    من لا يعرف FTP هو بروتوكول نقل الملفات وهي اختصار لجملة File Transfer Protocol , سنتعلم اليوم كيفية استعمال مكتبة FTP مع لغة بايثونوتنفيذ بعض المهام على السيرفر نحو: نقل ملفات وحذفها وتصفحها dir وغيرها من المهام


    الشرح

    • أول خطوة هي استدعاء أو استيراد مكتبة ftplib ونستدعي منها دالة FTP  هكذا

    from ftplib import FTP

    • الان نقوم بانشاء كائن Object ونمرر له دالة FTP بداخلها ثلاث بارمترات مهمة جدا وهي :
    (الهوست واسم المستخدم والبورت), طبعا هذه المعلومات تحصل عليها من الاستضافة التي اشتركت بها.

    فيكون الكود هكذا:

    ftp = FTP('الباسوورد', 'اسم المستخدم', 'ضع الهوست') 

    هكذا:

    ftp = FTP('ftp.hostkda.com', 'hkdauser', '12345678') 

    انتهينا من أهم مرحلة, الأن سنقوم بتنفيذ بعض المهام على السيرفر



    • سنقوم بانشاء مجلد باسم test على السيرفر بالكود

    ftp.mkd("test")

    • وسنقوم باظهار محتويات السيرفر بالامر dir وسنطبع النتيجة print
    سيكون الكود كالأتي:

    print(ftp.dir())

    تم انشاء المجلد test بنجاح


    سنقوم بالدخول و التأكد بواسطة برنامج FileZilla


    نفس النتيجة :) تم انشاء المجلد test بنجاح

    • الان سنقوم برفع ملف من جهازي الى السيرفر, سأقوم برفع صورة تحمل اسم titanium.jpg 

    فيكون الكود

    file_name = "titanium.jpg"
    f = open(file_name, 'rb')
    ftp.storbinary('STOR ' + file_name, f)
    f.close()
    الكود بسيط لاداعي للقلق سأقوم بشرحه, قمنا بانشاء متغير ومررنا له مسار الصورة titanium.jpg
    بعدها قمنا بقراءة الملف file_name بواسطة الدالة open و rb بمعنى قراءة الملف بشكل باينري Binary
    ثم قمنا باستعمال الدالة storbinary والتي مررنا لها اسم الملف file_name وأيضا مررنا لها f والذي يحتوي على بايتات الملف أو الصورة التي قراناها سابقا.

    ' STOR'   حتى يسمح لنا السيرفر بحفظ الملف ويستقبل الصورة التي مررناها على شكل كود ثنائي.
    ثم أغلقنا الاتصال close()

    هذه مهام أترككم تجربوها بانفسكم


    لاعادة تسمية ملف
    FTP.rename(fromname, toname)
    لحذف ملف

    FTP.delete(filename)
    لتغيير المسار استخدامها يشبه أمر cd Desktop على اللينكس, Desktop هو مثال فقط

    FTP.cwd(pathname)
    تستخدم mkd لانشاء مجلد جديد Make Directory

    FTP.mkd(pathname)
    وهذا الامر يستخدم لمعرفة في أي مسار Path نحن فيه الان

    FTP.pwd()
    تستخدم لحذف مجلد

    FTP.rmd(dirname)
    لمعرفة حجم الملف

    FTP.size(filename)
    طبعا الأمر واضح للخروج وقطع الاتصال

    FTP.quit()


    شارك المقال

    مقالات متعلقة

    إرسال تعليق