8.2 שרת קבצים הרצאה
טרמינולוגיה¶
- שרת: שרת הוא מחשב שמטרתו לשרת, בדרך כלל אמור להיות גישה אליו מהאינטרנט. דוגמאות לשרתים שאנחנו מכירים: אתר או מסד נתונים.
- הפעלה מקומית: כשאנחנו אומרים "הפעלה מקומית" זה אומר שאנחנו מפעילים את התוכנה במחשב שלנו
- הפעל מרחוק: כשאנחנו אומרים "הפעל מרחוק" זה אומר שאנחנו מפעילים את התוכנית מרחוק בשרת מרוחק.
מהו שרת קבצים¶
- בתכנות כאשר אנו רוצים לאחסן קבצים, סרטונים, תמונות אנו בדרך כלל משתמשים בשרתי קבצים.
- שרתי קבצים יכולים להיות מקומיים או מרחוקים ומטרתם היא לשמור קבצים.
- בדיוק כמו מסדי נתונים אנחנו יכולים להוריד קבצים, להעלות קבצים ולתפעל אותם עם שרתי קבצים.
- ישנם סוגים רבים של שרתי קבצים, בהרצאה זו נראה כיצד להגדיר שרת מסוג FTP ונרים שרת FTP שנקרא FileZilla Server.
הקדמה - FTP¶
- קיימים המון סוגים של שרתי קבצים, בניהם קיים FTP - שרת פשוט מאוד לשמירת קבצים.
- לקוח FTP: תוכנה או אפליקציה המשמשת לחיבור לשרת FTP ולביצוע פעולות על קבצים.
- שרת FTP: השרת המארח את הקבצים ומנהל את חיבורי ה-FTP.
- פקודות: FTP פועל באמצעות פקודות (למשל,
GET,PUT,LIST,DELETE) שלקוחות שולחים לשרת כדי לבצע פעולות שונות על קבצים.
הגדר שרת FTP¶
- אנו נשתמש בFileZila כי זה שרת קבצים בסיסי מאוד להגדרה:
- https://filezilla-project.org/download.php?type=server
לקוח FTP בפייתון¶
- הריצו:
pip install ftputil
import ftputil # Connect to FTP server host = '127.0.0.1' username = 'your_username' password = 'your_password' with ftputil.FTPHost(host, username, password) as ftp: print("Connected to FTP server successfully.") # List files in current directory files = ftp.listdir('.') print("Files in current directory:") for file in files: print(file) # Download a file filename = 'example.txt' ftp.download(filename, filename) print(f"Downloaded file '{filename}' successfully.") # Upload a file ftp.upload(filename, filename) print(f"Uploaded file '{filename}' successfully.") print("Disconnected from FTP server.")