# Common_Automated_Scripts_Utils
*注意:禁止用于商业用途,欢迎个人学习交流!*
## 描述 (Description)
一个应用广泛,功能强大,并伴有AI技术辅助的整合了多种常用Python脚本的工具箱;能够在办公自动化批量处理,游戏辅助,文件多模态AI管理等多个领域发挥作用。旨在做到方便快捷、拿来即用。该项目多为个人原创想法的简单实现,后续会不定期继续不断完善功能,敬请期待!
## 环境 (Environment)
* CPU友好型!无须特地安装CUDA 等GPU驱动支持
* CUDA CUDNN(非必须)
* pywin32 win32api
* Flask-sqlalchemy
* python 3.7
* pyautogui
* Windows
* Pythorch
* pycrypto
* opencv
* Pillow
## 功能基本介绍:
### 多模态智能文件管理模块(本地AI相册):
>请见 yolox shufflenetv2
* 基于shuffleNet、YOLOX等优秀轻量级神经网络,后续还可能会引入GPT、transformer等技术辅助处理;
* 能够在本地自动根据使用者个人文件分类习惯进行学习,并帮助使用者进行自动相册归档操作且几乎无需对神经网络的训练进行额外操作;
* 通过多模态搜索,使用者可以根据描述找到相应符合类型的图片;
### 智能输入操作模块:
>请见FindClick.py
* 支持引入神经网络,使用者可以根据自身需求进行设计,实现自动点击、打卡、刷课、游戏辅助等等操作;
### 文件批量处理模块:
>请见batch.py
* 能够批量对各种类型的文件进行精细化的增删查改操作;
* 能够自动将题库题目的正确答案自动匹配到原题中
* 能够自动检测抽取出正确答案并与题库原题目合并,自动生成复习提纲
### 文件加密模块:
>请见AesEncrypt.py
* 基于AES-cfb高级加密,使用者可以轻松对需要加密的文件进行精细化的批量加解密操作,保护隐私安全;
## 如何使用:
> batch.py
```python
class batch()
| 文件批量增删查改类下常用方法
|
| Methods defined here:
|
| __init__(self,startNumber=0, )
| 初始化方法
| :param startNumber=startNumber
|
| rename_with_num(self,dir_path,name='',fileType='.png')
| 目标文件夹下按照自定义规则匹配批量重命名文件
| :param dir_path: 目标目录 必填
| :param name: 文件名修改为name 选填
| :param fileType: 需要修改的文件类型 选填
| :return: 无
|
| match_remove(self,dir_path,name=None,fileType_list=['all'],current_dir=True)
| 目标文件夹下按照自定义规则删除文件
| :param dir_path: 目标目录 必填
| :param name: 文件名修改为name 选择填
| :param fileType_list: 需要删除的的文件类型列表,默认'all' 选择填
| :param current_dir: 默认True只处理dir_path当前目录下的所有文件
| False则处理当前文件夹及其子文件夹下所有文件 选择填
| :return: 无
|
| match_copy(self,dir_path,Target_Dir_Path,name=None,fileType_list=['all'],current_dir=True)
| 按照文件匹配规则复制到目标文件夹下
| :param dir_path: 源文件目录 必填
| :param Target_Dir_Path: 目标文件目录 必填
| :param name:文件名修改为name 选择填
| :param fileType_list: 需要删除的的文件类型列表,默认'all' 选择填
| :param current_dir:默认True只处理dir_path当前目录下的所有文件
| False则处理当前文件夹及其子文件夹下所有文件 选择填
| :return: 无
|
| get_filename_txt(self,dir_path,output_filename='output.txt')
| 得到默认目录下所有文件路径并写入到.txt文件中
| :param dir_path: 目标目录 必填
| :param output_filename: 默认结果输出到output.txt 选择填
| :return: 无
|
| move_file(self,src_path, dst_path, file)
| 文件移动
| :param src_path: 源目录 必填
| :param dst_path: 目标目录 必填
| :param file: 文件名 必填
| :return: 无
|
|
| get_name_filetype_match_filelist(self,dir_path,name=None,fileType_list=['all'],current_dir=True)
| 程序文件匹配列表遍历操作总入口
| :param dir_path: 源文件目录 必填
| :param name: 文件名含有name关键字 选择填
| :param fileType_list: 需要删除的的文件类型列表,默认'all',例:['.jpg','.png'] 选择填
| :param current_dir: 默认True只处理dir_path当前目录下的所有文件
| False则处理当前文件夹及其子文件夹下所有文件 选择填
| :return: list
|
# example
import batch
b = batch()
#筛选文件,得到对应文件路径的列表
chosen_file_list=b.get_name_filetype_match_filelist(dir_path=r'F:\ASUS\Desktop')
#批量删除某文件夹下的文件
b.match_remove(dir_path=r'F:\ASUS\Desktop')
# 当然如果你熟悉开发工作,遇到需要批量文件操作的工作,你完全是可以通过自定义函数完成一系列的操作
# file_filter方法支持您将自定义函数传入进行操作
# example
from batch import file_filter
# 过滤批量删除
def filter_remove(file_path):
os.remove(file_path)
# file_filter 传入参数同get_name_filetype_match_filelist()
file_filter(filter_remove,dir_path=r'F:\python_script\click_script')
```
> 根据题库自动生成复习复习提纲代码使用demo
```python
# batch.py
from batch import make_q_a_doc
#question_filepath='question.txt' 必填 该文件装单选题目 不含答案
#answer_filepath='answer.txt', 必填 该文件装单选答案
#output_filepath='output.txt' 必填 该文件为题库生成提纲的输出路径
doc_dic=make_q_a_doc(question_filepath='question.txt',answer_filepath='answer.txt',output_filepath='output.txt')
# 返回输出文本内容的字典doc_dic
```
> AesEncrypt.py ([效果演示请见]( https://b23.tv/GgKn2dO))
```python
class AesEncrypt()
| 常用AES加解密方法,对特定文件做高级加解密
|
| Methods defined here:
|
| __init__(self, key, mode=AES.MODE_CFB)
| 初始化方法 AES-cfb需要iv值与key进行操作
| :param mode = mode
| :param key = key
| :param iv = Random.new().read(AES.block_size)
|
| encrypt_file(self,dir_file_list)
| 对传入的路径列表中对应的文件做AES-cfb流加密
| :param dir_file_list : 文件路径列表 必填
| :return: 无
|
| decrypt_file(self,dir_file_list)
| 对传入的路径列表中对应的文件做AES-cfb逆向解密
| :param dir_file_list : 文件路径列表 必填
| :return: 无
|
|
# example
key = '1234567890123456'
dir_path = r"F:\ASUS\Desktop\test"
aes = AesEncrypt(key)
b = batch()
b = b.get_name_filetype_match_filelist(dir_path = dir_path,fileType_list=['all'])
#encrypt
aes.encrypt_file(b)
#decrypt
aes.decrypt_file(b)
```
> FindClick.py ([自动化微信跳一跳](https://b23.tv/xo3cwfI))
```python
class FindClick()
| 匹配鼠标点击键盘操作方法
|
| Methods defined here:
|
| __init__(self, Use_AI)
| 初始化方法
| :param Use_AI = Use_AI
|
| match_click(self,dir_file_list)
| 点击操作脚本控制
| :param match_pic_path : 需需要匹配的图象路径 必填
| :param click : 'click'/'doubleclick' 单双击可选 选择填
| :param confidence: 匹配置信度 选择填
| :param mousedown_last_time : 鼠标按下多少秒后弹起 选择填
| :return: 无
|
| demo_action(self,dir_file_list)
| 自行设计
| :return: 无
|
# example in action
没有合适的资源?快使用搜索试试~ 我知道了~
整合有办公自动化,游戏辅助,多模态文件搜索,能够学习用户分类习惯的AI相册分类器,高级加密等多种常用功能的Pytho.zip
共68个文件
py:33个
pyc:23个
txt:3个
需积分: 5 0 下载量 9 浏览量
2024-02-21
19:37:59
上传
评论
收藏 14.43MB ZIP 举报
温馨提示
整合有办公自动化,游戏辅助,多模态文件搜索,能够学习用户分类习惯的AI相册分类器,高级加密等多种常用功能的Pytho
资源推荐
资源详情
资源评论
收起资源包目录
整合有办公自动化,游戏辅助,多模态文件搜索,能够学习用户分类习惯的AI相册分类器,高级加密等多种常用功能的Pytho.zip (68个子文件)
kwan1117
__init__.py 0B
batch.py 10KB
LICENSE 11KB
shufflenetv2
classes.json 189B
utils.py 6KB
__init__.py 0B
weights
model-13.pth 1.45MB
shufflenetv2_x0.5-f707e7126e.pth 5.28MB
predict.py 2KB
pre_dataset.py 3KB
model.py 6KB
my_dataset.py 1KB
train.py 6KB
__pycache__
predict_script.cpython-37.pyc 2KB
my_dataset.cpython-37.pyc 1KB
class_txt_to_json.cpython-37.pyc 3KB
__init__.cpython-37.pyc 155B
utils.cpython-37.pyc 5KB
model.cpython-37.pyc 5KB
pre_dataset.cpython-37.pyc 3KB
predict_script.py 2KB
classes1.json 197B
yolox
__init__.py 0B
DB.py 749B
voc_annotation.py 5KB
predict.py 3KB
grabscreen.py 1KB
utils
utils.py 2KB
__init__.py 1B
utils_bbox.py 8KB
utils_map.py 35KB
dataloader.py 12KB
utils_fit.py 4KB
callbacks.py 2KB
__pycache__
dataloader.cpython-37.pyc 8KB
callbacks.cpython-37.pyc 2KB
utils_bbox.cpython-37.pyc 3KB
utils_fit.cpython-37.pyc 2KB
__init__.cpython-37.pyc 173B
utils.cpython-37.pyc 2KB
nets
__init__.py 1B
darknet.py 10KB
__pycache__
yolo.cpython-37.pyc 4KB
darknet.cpython-37.pyc 7KB
__init__.cpython-37.pyc 172B
yolo_training.cpython-37.pyc 9KB
yolo_training.py 20KB
yolo.py 11KB
model_data
simhei.ttf 9.3MB
yolox_nano.pth 3.67MB
coco_classes.txt 625B
voc_classes.txt 134B
summary.py 466B
requirements.txt 141B
get_map.py 6KB
train.py 14KB
__pycache__
predict.cpython-37.pyc 2KB
grabscreen.cpython-37.pyc 1KB
yolo.cpython-37.pyc 6KB
__init__.cpython-37.pyc 148B
DB.cpython-37.pyc 792B
yolo.py 15KB
db
pic_info.db 12KB
search.py 773B
FindClick.py 2KB
__pycache__
batch.cpython-37.pyc 4KB
README.md 10KB
AesEncrypt.py 3KB
共 68 条
- 1
资源评论
Kwan的解忧杂货铺
- 粉丝: 1w+
- 资源: 3671
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功