常用轮子:文件夹整理

【wheel】超详细的wheel轮子下载和 来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** 阅读详情
import os
import shutil
import glob
import numpy as np

class Class_Util_Folder():
    def __init__(self):
        pass

    def get_all_folders(self,base_dir):
        """获取基文件夹下的所有子文件夹"""
        folder_list = []
        for root,dir_names,file_names in os.walk(base_dir):
            for dir_name in dir_names:
                dir_path = os.path.join(root,dir_name)
                folder_list.append(dir_path)
        return folder_list

    def get_all_files(self,base_dir):
        """获取基文件夹下的所有子文件"""
        file_list = []
        for root,dir_names,file_names in os.walk(base_dir):
            for file_name in file_names:
                file_path = os.path.join(root,file_name)
                file_list.append(file_path)
        return file_list

    def remove_empty_folder(self,folder_path):
        """删除空文件夹"""
        if len(os.listdir(folder_path)) == 0:
            os.rmdir(folder_path)

    def get_file_lists(self,fold_path):
        """
        获取folder_path文件夹下的所有文件及文件名。
        """
        file_path_list = np.sort(glob.glob(fold_path+"/*"))# 获取文件夹下的所有文件
        file_name_list = [os.path.split(file)[-1] for file in file_path_list]#路径分割,获取文件名

        file_path_list = [str(file) for file in file_path_list] # 把文件路径转为string格式
        file_name_list = [str(file) for file in file_name_list] # 把文件名转为string格式
        
        return file_path_list,file_name_list
    
    def get_file_name_list(self,folder_path,txt_path):
        """获取一个文件夹下的所有文件的文件名,并写入text文件中"""
        file_path_list,file_name_list = self.get_file_lists(folder_path)
        self.write_list_2_txt(file_name_list,txt_path)

    def write_list_2_txt(self,data_list,txt_path):
        """把列表中的文本数据写入txt文件中"""
        assert len(data_list)>0
        txt_file = open(txt_path,"w")
        for data in data_list:
            assert isinstance(data,str)
            txt_file.write(str(data+"\n"))
        txt_file.close()

    def read_txt_2_list(self,txt_path):
        """从txt文件中读取文本,为列表"""
        assert os.path.exists(txt_path)
        txt_file = open(txt_path,"r")
        data_list = []
        for data in txt_file.readlines():
            data = data.strip("\n")
            data_list.append(data)
        txt_file.close()

        return data_list

    def move_file(self,src_file,aim_file):
        """移动文件:从src_file移动到aim_file"""
        assert (os.path.exists(src_file))
        assert (src_file.split("/")[-1] == aim_file.split("/")[-1])
        if not os.path.exists(aim_file):
            shutil.move(src_file,aim_file)
        else:
            os.remove(src_file)

    def get_files_from_grandpa_fold(self,base_dir):
        """ 获取所有孙文件夹中的文件 """
        path_list = glob.glob(base_dir+"/*/*") 

        file_path_list,file_name_list = [],[]
        for path in path_list:
            if os.path.isfile(path):
                file_path_list.append(path)
                file_name_list.append(os.path.split(path)[-1])

        return file_path_list,file_name_list

    def print_progress(self,current_num,total_num):
        """        打印当前进度        """
        print(f"{round(current_num/total_num*100,2)}%,{current_num}//{total_num}")

【uploader】表格化自整理vue-simple-uploader的文档(超详细) vue-simple-uploader是很强大的uploader组件。 但是其文档内容过于混乱,在此表格化所有文档内容 并进行组件测试与demo编写。 阅读详情

相关推荐

批量更改文件夹下所有文件名或者后缀名的脚本

批量更改文件夹下所有文件名或者后缀名的脚本

linxinloningg的博客 2535

get_filename_list.py

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Dec 21 09:42:44 2018 @author: 1,在深度学习中,常常遇到读取指定目录下面文件名字并存储到python列表中的操作. 2,得到训练目录下文件列表之后,我们可以对列表内元素进行混淆处理,然后分割成两个列表:   训练用的图片文件名称列表...

yanlizhong62的博客 437

TWINCAT3保姆级教程:手把手教你给Ecat从站烧录EEPROM(含XML配置避坑指南)

本文提供TWINCAT3环境下Ecat从站EEPROM烧录的完整教程,涵盖XML配置避坑指南。详细讲解环境准备、设备扫描、XML文件配置、EEPROM烧录流程及故障排查,帮助工程师高效解决设备识别问题,提升产线调试效率。

weixin_30693683的博客 516

wchar.h安全函数学习之wscanf_s,fwscanf_s,swscanf_s,vwscanf_s,vfwscanf_s,vswscanf_s

本篇介绍wchar.h头文件的安全函数学习之wscanf_s, fwscanf_s, swscanf_s, vwscanf_s, vfwscanf_s, vswscanf_s。

chenyijun的专栏 3757

Dinic算法的复杂度分析及证明

一般图 复杂度主要取决于dfs增广的过程。 将dfs部分的复杂度分成两部分来分析:1)修改增广路上边的流量。至多会增广mmm次,一条增广路的长度至多是nnn,所以这一部分的复杂度是O(nm)O(nm)O(nm)。2)dfs遍历时找增广路失败时经过的边。由于一旦从某条边出发找最短路失败了,我们就不会再走那条边(当前弧优化),所以这一部分的复杂度是O(m)O(m)O(m)的。故而dfs增广的复杂度是O...

这个博客已经搬到了:zhongyuwei.github.io 4390

物料帐配置之 重估消耗

物料帐配置 ML material ledger

SAP刺客的博客 5908

程序员如何避免 “重复造轮子”?3 个技巧教你高效复用代码

而重新编写的代码,由于开发者的经验水平、考虑的场景有限等因素,很容易存在各种潜在的漏洞和缺陷。定期对代码片段库进行更新和优化,删除过时的、不再使用的代码片段,补充新的、常用的代码片段。通过将一个复杂的系统分解为多个独立的模块,每个模块负责实现特定的功能,并且模块之间通过明确的接口进行通信,可以使每个模块都具有较高的独立性和可复用性。例如,当需要编写一个数据库连接的代码时,只需从个人代码片段库中找到对应的代码片段,根据具体的数据库类型和配置进行简单修改,就可以快速完成开发,避免了每次都从零开始编写的麻烦。

2503_92849134的博客 644

Halcon像素比例标定(误差大)-相机标定

一种简易标定: 像素比例标定,如果需要精确一些则需要在高度和宽度上都需要计算,然后求出比例系数。需要高精度标定板和相机,以及多次标定才能达到稳定的状态,这种标定简单,但是误差大。 read_image (Img0008, 'D:/00项目代码/000视觉软件/02Halocn算法20190501/04测量20190424/07_比例计算测量标定/IMG0008.jpg') rgb1_to_...

SSSS的博客 3984

Python 自己简单地造一个轮子.whl文件

代码放在一起,文件放在一起(这么做的目的就是为了方便,也可以放在一起,只要能运行就好),这是在有网的情况下。有的时候网不好,速度较慢,会把包下载在本地,然后再从本地加载。,这是为了方便调用,打包的时候也需要,在数据文件data中采用绝对路径的方式去整理。比如我们有下面这样的工程,代码和数据文件是分开的,这里给代码文件和数据文件夹里加了。打开disk,就发现打好的.whl文件了,直接在命令行里,键入pip命令就安装啦!在当前运行环境下,在命令行里进入setup.py所在的文件夹下,键入。,这样pip的加载。

赫凯的博客 5527

异步fifo的UVM验证(最终最终版)

更新了refmdl以及scb

qq_44674008的博客 2987

姿态传感器/陀螺仪之LSM6DSLTR应用驱动程序设计

* LSM6DSLTR I2C地址(SA0=1) *//* 初始化LSM6DSLTR传感器(加速度计±2g,陀螺仪±250°/s) *//* 加速度计灵敏度 *//* 角速度值(°/s) *//* I2C句柄 *//* 陀螺仪灵敏度 *//* 加速度值(g) *//* 温度值(°C) *//* 设备地址 *//* IF_INC=1: 自动增量地址 *//* 10Hz采样率 *//* 配置I2C1引脚:PB6->SCL, PB7->SDA *//* 转换为实际温度值(°C),参考手册中温度计算公式 */

corlin6688的博客 394

JavaScript 轮子封装(日常积累)

vue项目点击下载 代码实现: downLoad(src, filename) { const a = new XMLHttpRequest(); a.open("get", src, true); a.responseType = "blob"; a.onload = function (e) { let url = window.URL.createObjectURL(this.response); let a = do

i_Satan的博客 1022

【AUTOSAR SystemServices】AUTOSAR CP中Watchdog Manager模块技术解析

本文深入解析了AUTOSAR中的Watchdog Manager模块实现。该模块通过多层次监督机制(Alive/Deadline/Logical Supervision)确保系统安全运行,具备动态模式切换和分级故障处理能力。 关键实现包括: 数据结构设计:包含监督实体状态结构体(实时状态维护)、监督配置结构体(支持模式切换)和全局状态信息(系统级监控) 核心流程优化:初始化采用事务性设计,检查点处理通过条件编译优化,主监控循环采用流水线式并行处理 监督机制实现:Alive监督采用滑动窗口算法,Deadlin

1038

Android每周一轮子:SharedPreferences

前言 距离上一期的每周一轮子已经过去了很久了,离开的这段时间,去创业做了产品经理的工作,然后项目都失败了,现在重启开始新的技术之路,前段时间在面试,所以对于基础知识点进行了重新的整理,所以结合着面试的内容,将对Android中的第三方框架还有FrameWork层的内容进行更系统的一个整理。开始第一篇,准备先从一个简单的入手,我们最常见的Android中的最常见的一种数据持久化方式,Sha...

weixin_42304618的博客 1032

YOLOv13改进策略【Neck篇】| GSConv 轻量卷积,Slim-Neck 减参数还不掉点

Neck 篇的第二篇继续"替换式"改进,这次的对象是 Neck 里的下采样卷积。GSConv 出自《Slim-neck by GSConv: a better design of lightweight detector》(2022),它的出发点:DWSConv(深度可分离)轻但"信息混不进通道",标准卷积重但表达好——GSConv 用GConv(分组卷积)混通道 + DWConv 补空间 + Channel Shuffle 打散,两全其美。

qq_53329130的博客 30

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Anthropic最新洞察:别再造轮子了,给AI装上技能包才是正道

因为报税这事儿,你不需要有人从头推导 2025 年的税法,你需要的是一个熟悉流程、知道各种坑的老手,能稳稳当当帮你搞定。也可能意味着学习的重要性会提升,因为你需要不断掌握新技能,然后把它们传授给你的 AI 助手。脚本本身就是代码,有清晰的逻辑,AI 读得懂,需要的时候还能调整。比如 Browserbase 做了一个浏览器自动化工具的技能,装上这个技能后,Claude 就能更有效地在网上冲浪,帮你做各种网页操作。做财务的需要一套工具,写代码的需要另一套工具,做设计的又需要完全不同的东西。

非著名程序员 759

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Codex写脚本:告别重复造轮子

总结 Codex 在脚本开发中的核心价值,重申“告别重复造轮子”的核心意义展望:AI 编程助手将成为开发者的必备工具,推动脚本开发向“高效、简洁、创新”转型呼吁:开发者主动尝试 Codex,结合实操技巧,提升自身开发效率,将精力投入到更有价值的核心逻辑开发中。

2401_84799828的博客 585

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

高效脚本编写:用Codex告别重复造轮子

总结Codex在脚本创作中的核心优势鼓励读者实践的具体行动建议相关资源推荐(官方文档/社区案例)注:实际撰写时可配合代码片段、性能对比数据及可视化流程图增强可读性。

lingxingxu的博客 60

util-删除空文件夹

整理文件时用到的一些小轮子,删除空文件夹。

wzg2016的博客 279

AI编程助手Codex:告别重复造轮子

Codex是OpenAI开发的AI编程助手,基于GPT-3模型微调,能够理解自然语言并生成代码。它支持多种编程语言,尤其擅长快速生成脚本代码片段。通过Codex,开发者可以减少重复性编码工作,专注于核心逻辑。

beilin1987的博客 403

人工智能毕设题目开发效率提升指南:从重复造轮子到模块化复用

开发效率提升:新实验只需修改YAML配置文件和模型定义,数据管道和训练流程无需变动。实验管理清晰:所有参数、代码版本(建议配合Git)、结果指标都被系统记录,便于复现和对比。代码质量提高:结构清晰,符合工程规范,易于他人理解和协作。下一步,你可以:动手重构:选择你当前或下一个毕设题目,按照上述结构搭建项目骨架。先从简单的MNIST或CIFAR-10开始,跑通整个流程。替换组件:将SimpleCNN换成你的研究模型(如ResNet, Transformer),将换成你的自定义数据集模块。思考延伸。

2600_94959981的博客 177

配置webpack作为你新轮子的打包工具

本文首发在 掘金 背景 前两天帮前同事写一个兼容公安内网,外网,专网的多地图合一的地图类库,但是越写越烦躁,整理一下有以下几个痛点: 使用es5语法编写javascript,语法啰嗦冗长。 js代码全部写到一个文件中,没有模块化,项目难以维护。 需要手动使用压缩工具压缩代码。 所以打算使用webpack作为新轮子的打包工具。 预期目标 期望使用es6语法编写插件代码,代码整洁易读。 支...

林楠楠的脚趾有点咸的博客 563

AI脚本革命:告别重复造轮子

AI工具如何释放开发者的创造力鼓励读者尝试将Codex融入日常工作流。

qq_42585445的博客 59

AI写脚本:告别重复造轮子

《AI助力脚本开发:告别重复造轮子》探讨如何利用Codex等AI工具提升脚本编写效率。文章指出重复开发通用模块存在耗时、质量不稳定等问题,而基于GPT-3的Codex能快速生成Python、Bash等语言的常见脚本(如文件整理、数据处理),减少低级错误。通过实际案例展示自然语言转代码的过程,并提供优化技巧:明确需求描述、迭代生成和人工校验。同时指出需注意代码定制、任务拆解和版权问题。未来展望AI与低代码平台结合及企业级微调应用,强调开发者应专注创新,将重复工作交给AI高效完成。(149字)

BoWenXue的博客 58
上一篇: 常用轮子:text文本文件处理
下一篇: 常用轮子:爬虫基本功能
wzg2016
博客等级 码龄10年 539粉丝 493原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值