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

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

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

من لا يعرف 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()