شرح مكتبة FTP في البايثون | FTPLIB Python
من لا يعرف FTP هو بروتوكول نقل الملفات وهي اختصار لجملة File Transfer Protocol , سنتعلم اليوم كيفية استعمال مكتبة FTP مع لغة بايثون وتنفيذ بعض المهام على السيرفر نحو: نقل ملفات وحذفها وتصفحها dir وغيرها من المهام
- أول خطوة هي استدعاء أو استيراد مكتبة ftplib ونستدعي منها دالة FTP هكذا
from ftplib import FTP
- الان نقوم بانشاء كائن Object ونمرر له دالة FTP بداخلها ثلاث بارمترات مهمة جدا وهي :
فيكون الكود هكذا:
ftp = FTP('الباسوورد', 'اسم المستخدم', 'ضع الهوست')
هكذا:
فيكون الكود
بعدها قمنا بقراءة الملف file_name بواسطة الدالة open و rb بمعنى قراءة الملف بشكل باينري Binary
ثم قمنا باستعمال الدالة storbinary والتي مررنا لها اسم الملف file_name وأيضا مررنا لها f والذي يحتوي على بايتات الملف أو الصورة التي قراناها سابقا.
' STOR' حتى يسمح لنا السيرفر بحفظ الملف ويستقبل الصورة التي مررناها على شكل كود ثنائي.
ثم أغلقنا الاتصال close()
لاعادة تسمية ملف
FTP.delete(filename)
FTP.cwd(pathname)
FTP.mkd(pathname)
FTP.pwd()
FTP.rmd(dirname)
FTP.size(filename)
FTP.quit()
ftp = FTP('ftp.hostkda.com', 'hkdauser', '12345678')
انتهينا من أهم مرحلة, الأن سنقوم بتنفيذ بعض المهام على السيرفر
- سنقوم بانشاء مجلد باسم test على السيرفر بالكود
ftp.mkd("test")
- وسنقوم باظهار محتويات السيرفر بالامر dir وسنطبع النتيجة print
print(ftp.dir())
تم انشاء المجلد test بنجاح
سنقوم بالدخول و التأكد بواسطة برنامج FileZilla
نفس النتيجة :) تم انشاء المجلد test بنجاح
- الان سنقوم برفع ملف من جهازي الى السيرفر, سأقوم برفع صورة تحمل اسم titanium.jpg
فيكون الكود
الكود بسيط لاداعي للقلق سأقوم بشرحه, قمنا بانشاء متغير ومررنا له مسار الصورة titanium.jpgfile_name = "titanium.jpg"
f = open(file_name, 'rb')
ftp.storbinary('STOR ' + file_name, f)
f.close()
بعدها قمنا بقراءة الملف 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()