屏幕截图助手-Assistant
项目地址
Github: competition_tool
主要功能
对整个电脑屏幕进行截图,然后上传截取到的屏幕图片到局域网下的的FTP服务器(ftp://192.168.1.1/),供其他用户下载使用
使用方法
以下两种方法都可触发截图事件:
- Caps Lock 长按 + 鼠标单击:先长按Caps Lock ,然后单击一次鼠标左键完成截图。截图完成后松开Caps Lock键,需要继续截图时重复上述过程。
- 2秒内连续四次单次鼠标滚轮:在两秒内连续四次鼠标滚轮完成截图,滚轮上下滚动不影响截图。
注意事项
- 使用程序时最好
以管理员身份运行,确保程序拥有较高权限。 - 如果使用双屏,无法截取副屏的内容,即使把鼠标焦点移动到副屏上,满足截图条件也只会截取主屏的画面。
用途
可以在某些比赛中将赛题截图然后上传到FTP服务器上,请其他人帮忙搜题解题(有摄像头或屏幕受到监控的情况下)
也可以在招聘的笔试、面试中使用
程序参数说明
本地保存路径:本地PC保存截图的路径,先将截取到的屏幕图片保存到本地PC,然后才上传到FTP服务器
FTP服务器文件夹名称:FTP存放截图的文件夹,如果在FTP服务器上已有个人文件夹直接填入文件夹名称即可,如果没有个人文件夹,填入名称后会自动在FTP服务器上创建下面填入的文件夹,例如lhf
项目打包
要将 Python 代码打包成一个独立的可执行文件(.exe),可以使用 PyInstaller 模块。以下是详细步骤:
项目结构
1 | 项目文件夹/ |
执行打包命令
1 | pyinstaller --onefile --windowed --add-data "upload.py;." --add-data "screenshot.py;." screenshot_gui.py |
参数解释:
- **
--onefile**:将所有内容打包为一个独立的可执行文件。 - **
--windowed**:在 Windows 系统上运行时,不显示控制台窗口(适用于 GUI 程序)。 - **
--add-data**:将其他依赖文件一起打包。格式为"文件路径;目标路径",在 Windows 下用;分隔。 - **
screenshot_gui.py**:主程序入口文件。
检查打包结果
打包完成后,会生成一个 dist/ 文件夹,其中包含一个可执行文件(.exe)可以双击该 .exe 文件来运行程序
1 | dist/ |
发布可执行文件到github
将 dist/ 文件夹中的 .exe 文件发布到github仓库上
点击仓库右边的release,添加标签,这里新建标签v1.0,简单写一下这版的主要功能,然后把competition_tool_v1.0.exe从本地PC文件夹拖动到web页面的指定位置,就能上传到github仓库上了。
程序打包补充说明
在使用 PyInstaller 打包 Python 程序时,会生成两个主要的文件夹:**build/** 和 dist/
build/ 文件夹是打包过程中的缓存文件目录。生成它是正常现象,并且可以在打包完成后手动删除。最终需要的是 dist/ 文件夹中的可执行文件。
build/ 文件夹:
用途:
build/文件夹是 PyInstaller 在打包过程中生成的临时构建文件的目录。内容:其中包含了与打包相关的中间文件,如
.spec文件、分析的模块依赖数据等。这些文件是用于构建过程中的缓存数据。作用:帮助 PyInstaller 分析你的代码和依赖关系。下次运行相同打包命令时,它会利用这些缓存文件加快打包速度。
build/文件夹在打包完成后可以安全删除,因为它只包含临时数据,不影响生成的.exe文件的运行。
dist/ 文件夹:
- 用途:
dist/文件夹中存放的是最终的打包结果,即生成的.exe文件和必要的依赖项。 - 内容:该文件夹中会包含你的可执行文件(如
screenshot_gui.exe)以及任何其他资源(在某些情况下,如果未使用--onefile,也可能包括依赖库)。
项目源码
如果没有打包成exe可执行文件,也可以下载相应的包直接在python的IDE中使用,如果要跑源代码,直接运行screenshot_gui.py即可
screenshot_gui.py
1 | import threading |
uploa.py
1 | from ftplib import FTP |
screenshot.py
1 | import pyautogui |







