IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python:文件自动分类 -> 正文阅读

[人工智能]Python:文件自动分类

文件按扩展名分类

import os
import shutil

#os模块是用于和操作系统进行交互的一个内置模块,提供操作文件和文件夹的函数(新建、删除、查看属性及查找路径等)
#shutil模块对文件或文件夹移动、复制、压缩等


src_folder = 'D:\\test\\要分类的文件\\'
#指定要分类的文件所在源文件夹的路径

des_folder = 'D:\\test\\分类后的文件\\'
#指定存放分类后文件的目标文件夹的路径

files = os.listdir(src_folder)
#listdir()返回指定文件夹下所有文件和子文件夹的名称列表

print(files)
#输出获取的列表

for i in files:
    src_path = src_folder + i
    #拼接源文件夹路径与列表中的文件名,得到一个完整路径
    if os.path.isfile(src_path):
    #os模块path子模块isfile()函数,判断完整路径是否为文件
        des_path = des_folder + i.split('.')[-1]
        #生成以文件扩展名命名的文件夹路径,split()根据指定的分隔符将字符串拆分为一个列表,即文件名和扩展名,-1是提取列表最后一个元素
        #拼接目标文件夹路径和扩展名,得到完整路径
        if not os.path.exists(des_path):
        #exists()判断完整路径是否指向一个已存在的文件夹
            os.makedirs(des_path)
            #创建文件夹
        shutil.move(src_path,des_path)
        #将文件移动到与其扩展名对应的文件夹

方法二:使用pathlib模块的path()函数

用pthlib模块完成文件和文件夹路径的相关操作,它以面向对象的思路来操作路径,使用起来更加灵活和轻松。

from pathlib import Path
src_folder = Path('D:\\要分类的文件\\')
des_folder = Path('D:\\分类后的文件\\')
files = src_folder.glob('*')
for i in files:
    if i.is_file():
        des_path = des_folder / i.suffix.strip('.')
        if not des_path.exists():
            des_path.mkdir(parents=True)
        i.replace(des_path / i.name)

这里glog()函数在源文件夹下查找文件和子文件夹的完整路径,’*‘表示返回所有文件和子文件夹。方法一中使用listdir()函数返回的只是文件夹和子文件夹名称。glog()函数还支持利用通配符查找符合特定规则的文件或文件夹:’*'表示匹配任意数量个(包括0个)字符,‘?’表示匹配单个字符,‘[]’表示 匹配指定范围内的字符。

strip()函数

strip()函数主要用于删除字符串首位的空白字符(包括换行符、回车符、制表符和空格),实际上这是指使用默认参数(即不指定参数)的情况。还可以用strip()函数删除字符串首尾的指定字符,如下:

str1 = 'xyzxyz-python-zyxzyz'
str2 = str1.strip('xyz')
print(str2)

输出结果:

-python-

可以看到str1首尾所有‘x’、‘y’、‘z’字符都被删除了。
此外,如果只想删除字符串开头指定的字符,可以使用lstrip()函数;只想删除字符串结尾的指定字符使用rstrip()函数。用法和strip()函数类似。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章           查看所有文章
加:2021-10-27 12:50:24  更:2021-10-27 12:53:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:40:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码