python的文件的自动化处理

常见的文件自动化处理

  1. 输出当前路径下的所所有文件及文件夹
  2. 快捷查看某路径喜爱所有文件
  3. 查询文件具体的详细信息
  4. 文件批量重命名
  5. 快速去重文本重复

1、解释说明

  • 输出当前路径下的所有文件及文件夹:使用os模块的listdir()函数,可以列出指定目录下的所有文件和文件夹。
  • 快捷查看某路径下所有文件:同样使用os模块的listdir()函数,只需传入目标路径即可。
  • 查询文件具体的详细信息:使用os模块的stat()函数,可以获取文件的详细信息,如大小、创建时间等。
  • 文件批量重命名:使用os模块的rename()函数,可以对文件进行重命名操作。
  • 快速去重文本重复:可以使用集合(set)的特性,将文本内容转换为集合,从而去除重复项。

2.代码实现

文件夹操作

python 复制代码
import os

# 输出当前路径下的所有文件及文件夹
print(os.listdir())

# 快捷查看某路径下所有文件
path = "/path/to/your/directory"
print(os.listdir(path))

# 查询文件具体的详细信息
file_info = os.stat("example.txt")
print(file_info)

文件批量操作

我先说一下,文件批量操作的一个思路

  1. 首先,我们需要遍历目标文件夹,获取所有文件的文件名。
  2. 然后,我们需要检查每个文件名是否重复。如果重复,我们需要修改这些文件名以避免冲突。
  3. 最后,我们需要确保新的文件名是唯一的,可以通过添加一个唯一的后缀(例如,数字或时间戳)来实现。
    代码实现如下:
python 复制代码
import os
import re

def batch_rename_files(folder_path):
    # 获取文件夹中的所有文件名
    file_names = os.listdir(folder_path)
    
    # 创建一个字典来存储文件名及其出现的次数
    name_count = {}
    
    # 遍历文件名,统计每个文件名的出现次数
    for name in file_names:
        if name in name_count:
            name_count[name] += 1
        else:
            name_count[name] = 1
    
    # 遍历文件名,对于重复的文件名,添加一个唯一的后缀
    for name in file_names:
        if name_count[name] > 1:
            new_name = re.sub(r'(\.\w+)$', r'_\d+\1', name, count=1)
            os.rename(os.path.join(folder_path, name), os.path.join(folder_path, new_name))
            name_count[new_name] = 1

# 调用函数,传入需要处理的文件夹路径
batch_rename_files("your_folder_path")

快速去重文本重复

python 复制代码
# 快速去重文本重复
def remove_duplicates(text):
    return ''.join(sorted(set(text), key=text.index))

text = "hello world hello python"
print(remove_duplicates(text))
相关推荐
2601_956319882 分钟前
2026年下半年,量化学习要把交易认知和技术实现接起来
人工智能·python
Hhy_11074 分钟前
《C++深度解构02》类和对象(上)——定义规范、内存对齐与 this 指针全解
c语言·开发语言·c++·学习·visual studio
EW Frontier9 分钟前
【雷达信号处理】5 个阵元追平 16 个阵元:稀疏阵列 STAP 的实测报告【附python+matlab代码】
python·matlab·信号处理·雷达·mimo·稀疏阵列·stap
weixin_4038101321 分钟前
苹果群控带机量实测:一台电脑能稳定控多少台iPhone
自动化·iphone·跨境电商·苹果投屏·多媒体运营·安卓中控
电子云与长程纠缠23 分钟前
UE5 Lyra PocketWorld进行3D内容UI预览 - 下
开发语言·学习·游戏·ui·ue5
Dream-Y.ocean27 分钟前
具身智能落地实战:数字人驱动的全自动化舆情监控系统
运维·自动化
weixin_4038101327 分钟前
iOS自动化脚本怎么避免风控?无屏幕镜像截图原理详解
ios·自动化·跨境电商·苹果群控·苹果投屏·多媒体运营
卷无止境30 分钟前
FastAPI的测试事件在测什么?
后端·python·fastapi
selfsongs40 分钟前
Python学习之——multiprocessing 多进程编程
python
平常心的技术小牛40 分钟前
Qt-快速上手-QLabel
开发语言·qt