برنامه نویسی

مشتری FTP با GUI Python🐱‍🏍

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5mvcqla6kt68aohechs

خوب بیایید وارد پروژه شویم. و این اولین پست من است که می شنوید بنابراین می دانید که من در مورد چه چیزی صحبت می کنم. کتابخانه های اصلی که من استفاده می کنم FTPLIB و CustomTinter برای GUI هستند.

کد منبع:

یک مشتری FTP ساده و کارآمد ساخته شده با Python ، به کاربران امکان می دهد به سرورهای FTP متصل شوند ، پرونده های بارگذاری/بارگیری را بارگذاری کنند و دایرکتوری ها را یکپارچه مدیریت کنند.


بوها مشتری قدرتمند و در عین حال ساده FTP ساخته شده با پایتون ، امکان انتقال فایل یکپارچه بین سرورهای محلی و از راه دور را فراهم می کند. ایده آل برای مدیریت اتصالات FTP با سهولت!

جنگل

🎯 ویژگی های کلیدی

وصل کردن به هر سرور FTP ایمن
📂 بارگذاری و بارگیری پرونده ها بدون زحمت
📁 دایرکتوری ها را مدیریت کنید (لیست ، تغییر نام ، حذف)
🔄 به روزرسانی های وضعیت انتقال در زمان واقعی
🔒 ایمن و کاربر پسند

🔧 نصب

1⃣ کلون مخزن

git clone https://github.com/Ukihanter/Python-FTP-Client/tree/main
cd your-repo-name  
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2 وابستگی ها را نصب کنید

pip install -r requirements.txt  
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

🚀 نحوه استفاده

client مشتری FTP را اجرا کنید:

python gui.py  
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

💡 جزئیات سرور FTP را وارد کرده و انتقال پرونده ها را به راحتی شروع کنید!

📦 الزامات

🔹 پایتون 3.x
🔹 ftplib (داخلی)
🔹 هرگونه وابستگی اضافی در requirements.txt
🔹 مسیر محلی Defult روی D تنظیم شده است: \ احساس راحتی کنید تا آن را ویرایش کنید.

📜 مجوز

📄 منبع باز زیر مجوز من – احساس راحتی کنید!

🔗 در صورت پیدا کردن پروژه و ستاره ⭐ پروژه

ساختن رابط کاربری

  • ابتدا GUI را با استفاده از FIGMA ایجاد کردم. و از ابزاری به نام Tkinter-Designer برای وارد کردن آنها به GUI Python استفاده کردم ، این یک روش بسیار آسان برای ساخت GUI Python است اما دارای سقوط هایی است.

  • tkinter-designer:https://github.com/ParthJadhav/Tkinter-Designer

  • آموزش ویدیویی: https://www.youtube.com/watch?v=oLxFqpUbaAE&t=562s

  • مستندات: https://github.com/ParthJadhav/TkinterDesigner/blob/master/docs/instructions.md

  • بعد از ایجاد رابط کاربری گرافیکی می توانید به مرحله بعدی بروید

ضمنا

الزامات:

# This project uses Python's standard libraries only.
# No additional packages need to be installed.

# Optional: Specify Python version if needed
# python_version >= 3.9
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اکنون ما باید کتابخانه هایی را که برای این پروژه استفاده کرده ایم وارد کنیم.

import os                  # For operating system/file handling
from pathlib import Path   # For path manipulation
from ftplib import FTP     # For FTP protocol operations
import datetime            # For timestamp handling
from tkinter import ttk, messagebox     # GUI components
import tkinter as tk
from tkinter import Tk, Canvas, Entry, Text, Button, PhotoImage
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اینها توسط tkinter-designer تولید می شوند و لازم نیست نگران آن باشید

# Set up paths for GUI assets
OUTPUT_PATH = Path(__file__).parent
ASSETS_PATH = OUTPUT_PATH / Path(r"C:\Users\GIGABYTE\Desktop\New folder (4)\build\build\assets\frame0")

def relative_to_assets(path: str) -> Path:
    """Helper function to create absolute paths for GUI assets"""
    return ASSETS_PATH / Path(path)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مدل اصلی GUI

# Create main application window
window = Tk()
window.title("FTP client By uki")
window.geometry("1280x720")
window.configure(bg="#2B2B2B")  # Dark background color
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تعریف مسیر پیش فرض فایل به مشتری

# Global variables for FTP connection and navigation
ftp = None  # Will hold the FTP connection object
current_ftp_path = "https://dev.to/"  # Current directory on FTP server
current_local_path = "D:/"  # Current directory on local machine
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

صادر کردن : من از پیش فرض استفاده کردم "D:/" زیرا اگر این کار را وارد کنید
C:/ با خطای انکار شده دسترسی باز می گردد.

اکنون می خواهیم پرونده ها را از دستگاه محلی دریافت کنیم و از آن استفاده کردم از نمای درخت برای نشان دادن پرونده هایی که از آن استفاده می کنند استفاده می کنم try عملکرد برای به روزرسانی لیست پرونده. در پایان همانطور که می بینید دارای خطای رسیدگی و به Permission Error وت Exception

پرونده دریافت

این قسمت در کد با استفاده از عملکرد دو کلیک ، ناوبری را در محوطه دستگاه محلی اداره می کند.

ناوبری در دستگاه محلی

در حال حاضرlocal_go_back عملکرد ناوبری پشت در فهرست دستگاه محلی را کنترل کنید.
به عملکرد برگردید

اکنون ورودی را می گیرد hostusernamepassword و استفاده می کند try عملکردی برای ایجاد اتصال به سرور. اگر اتصال موفق باشد ، ورود به سیستم را به عنوان بازگرداند ✅ Connected successfully! اگر نه بازگشت Exception خطا
اتصال به سرور

اکنون پرونده های میزبان را به عنوان دستگاه محلی و همچنین رسیدگی به خطا لیست کنید

پرونده های میزبان را لیست کنید

رسیدگی به ناوبری پرونده در میزبان:
ناوبری در میزبان

میزبان و فایل محلی نمای درخت کشش:
پرونده محلی

پرونده میزبان

بارگیری در هنگام بارگیری (در این حالت رانندگی می کندD:/)

شرح تصویر

دکمه کشش و تماس با عملکرد:

دکمه اتصال

این دکمه ببر است که برای اتصال به سرور FTP command=connect_to_ftp, متغیرهای دیگر طراحی و موقعیت دکمه هستند

دکمه حذف
دکمه حذف

این دکمه ببر است که برای حذف پرونده انتخاب شده از سرور FTP command=delete_file, متغیرهای دیگر طراحی و موقعیت دکمه هستند

دکمه بارگذاری
دکمه بارگذاری

این دکمه ببر است که برای بارگذاری پرونده انتخاب شده از مشتری محلی command=upload_file, متغیرهای دیگر طراحی و موقعیت دکمه هستند

دکمه بارگیری
دکمه بارگیری

این دکمه ببر است که برای بارگیری فایل انتخاب شده از سرور میزبان command=download_file, متغیرهای دیگر طراحی و موقعیت دکمه هستند

عملکرد اصلی در مشتری FTP

تابع بارگیری
تابع بارگیری

وقتی download_file عملکرد ببر این اتصال را بررسی می کند و سعی می کند در صورت عدم بازگشت ماساژهای خطا ، پرونده SELCTED را از میزبان dowanlad کنید messagebox اگر همه خوب باشد ، پرونده را در مسیر محلی ذخیره کنید.

تابع بارگذاری
تابع بارگذاری

این عملکرد همچنین به جز بارگذاری پرونده در میزبان ، همان روش را دارد و همچنین ماساژ خطای لازم را ارائه می دهد.

عملکرد حذف
عملکرد حذف

عملکردی که پرونده را از میزبان حذف می کند این کار را نمی توان در دستگاه محلی انجام داد.

تأیید مسیر

ورود به سیستم بارگذاری
مسیر بارگذاری
ورود به موفقیت بارگذاری این متن را به Entry_4 وارد کنید

*دانلود ورود به سیستم *
مسیر دانلود
ورود به موفقیت در بارگیری. این متن را به enter_4 وارد کنید

خوب حالا شما می دانید که چگونه این اتفاق افتاد. من می دانم که این می تواند یک کسل کننده واقعی برای شما باشد. ممکن است

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا