Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Tyre-oat/Transfer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

transfer.py — 炫酷文件传输演示脚本

一个在命令行中运行、以视觉效果为主的"文件传输"演示脚本。它会:

  • 清屏并显示大型英文 ASCII LOGO
  • 扫描/生成演示文件列表并显示总览面板
  • 以炫酷进度条与阶段性文案模拟传输过程
  • 最终展示"传输成功"的结果面板

该脚本为纯视觉模拟,不进行真实的网络传输。非常适合比赛展示、Demo 演示或终端酷炫效果秀。


特性亮点

  • 炫酷启动动画与大型 LOGO
  • rich 生态的稳定进度条:Spinner/Bar/DownloadColumn/TimeRemaining
  • 分阶段状态文案:握手、参数协商、流式传输、负载发送、缓冲刷新、最终确认
  • 自动生成演示数据到 demo_data/,无需手动准备
  • 完整的传输总览与结果面板

运行环境

  • 操作系统:Windows(CMD/PowerShell),macOS,Linux
  • Python:建议 3.8+
  • 依赖库:rich

安装依赖:

pip install rich

快速开始

  1. 克隆或下载本项目到本地
  2. 在项目根目录运行:
python transfer.py

首次运行会自动在 demo_data/ 目录生成 6 个二进制样本文件(随机大小)。


输出效果预览

启动时的 LOGO:

███████╗██╗██╗ ███████╗ ████████╗██████╗ █████╗ ███╗ ██╗
██╔════╝██║██║ ██╔════╝ ╚══██╔══╝██╔══██╗██╔══██╗████╗ ██║
█████╗ ██║██║ █████╗ ██║ ██████╔╝███████║██╔██╗ ██║
██╔══╝ ██║██║ ██╔══╝ ██║ ██╔══██╗██╔══██║██║╚██╗██║
██║ ██║███████╗███████╗ ██║ ██║ ██║██║ ██║██║ ╚████║
╚═╝ ╚═╝╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝

随后会显示"传输总览"面板、文件数量与总大小,以及一个含有旋转指示器、进度条、百分比和剩余时间的传输进度列。进度描述会在不同阶段自动切换,传输完成后会显示绿色的"成功结果"面板。


脚本工作原理

  • 启动动画(startup())
    清屏并打印大型 LOGO 与初始化提示。入口参考 transfer.py:32-48

  • 演示文件生成(prepare_files())
    demo_data/ 不存在则创建,并随机写入 6 个样本文件(80–200 KB)。返回文件列表与总大小。入口参考 transfer.py:53-68

  • 传输模拟(simulate())
    使用 rich.Progress 组合列展示:SpinnerColumnBarColumnDownloadColumn、百分比与剩余时间。通过随机"分块"推进总进度,并根据百分比动态切换阶段文案。入口参考 transfer.py:73-154

  • 主程序入口
    顺序执行:startup()prepare_files()simulate()。入口参考 transfer.py:160-163


目录结构

.
├── transfer.py # 主脚本
├── README.md # 使用说明(本文档)
└── demo_data/ # 首次运行后自动生成的演示数据目录

demo_data/ 会在第一次运行时自动创建与填充。后续运行会直接读取其中的文件。


常见问题

  • "ModuleNotFoundError: No module named 'rich'"
    说明未安装依赖,执行:pip install rich

  • Windows CMD 中字符或边框显示异常
    建议使用 PowerShell/Windows Terminal,或在 CMD 中执行:chcp 65001 以切换到 UTF-8 编码,并使用等宽字体(如 Cascadia Mono)。

  • 想更换演示数据目录
    目前为纯视觉演示,未提供命令行参数。可直接修改 transfer.py 里主入口处的调用:
    prepare_files() 改为 prepare_files("你的目录") 即可(参考 transfer.py:162)。


许可与安全

  • 本脚本仅进行"视觉层面的传输模拟",不会将数据写出到网络。
  • 适用于公开演示与学习使用;如需真实传输功能,请在此基础上自行扩展并加入必要的安全与合规措施。

致谢

  • Rich — Python 终端美化与富文本库

About

炫酷的文件传输命令工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /