吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1201|回复: 12
收起左侧

[求助] python如何文件自动分类

[复制链接]
dft2010 发表于 2022-12-17 21:58
[Python] 纯文本查看 复制代码
import os
import shut


current_path = os.getcwd()
print('当前目录:'+current_path)

filename_list = os.listdir(current_path)
print('当前目录下文件:',filename_list)

print('正在分类整理进文件夹ing...')
for filename in filename_list:
    try:
        name1, name2 = filename.split('.')
        if name2 == 'mp4' or name2 == 'mpeg':
            try:
                os.mkdir(name1[:-1])
                print('创建文件夹'+name1[:-1])
            except:
                pass
            try:
                shutil.move(current_path+'\\'+filename,current_path+'\\'+name1[:-1])
                print(filename+'转移成功!')
            except Exception as e:
                print('移动失败:' + e)
    except:
        pass

print('整理完毕!')
input()

这样对影视剧分类的时候,会把同一个剧创建几十个文件夹然后分别放入,怎么能做到按名字分类影视剧呢,让同一个影视剧进入同一个文件夹呢?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

amoxuk 发表于 2022-12-17 22:07
你的影视剧的名称全部不一样吗,如果名字有特征的话,可以在mkdir那里判断一下名称的前缀(影视剧名称)是否存在,如果在的话就不创建了
gzsklsskszngc 发表于 2022-12-17 22:13
我也不懂,让AI来回复你:
可以使用Python的os模块来实现文件自动分类,具体步骤如下:
1. 首先,使用os.listdir()函数获取指定目录下的所有文件名;
2. 然后,使用os.path.splitext()函数获取文件的扩展名;
3. 接着,使用os.mkdir()函数创建文件夹,以扩展名作为文件夹名;
4. 最后,使用os.rename()函数将文件移动到对应的文件夹中。
blfiag 发表于 2022-12-17 22:18
复杂点,获取文件名,搜索豆瓣,获取网站的电影分类信息,照样本地化
 楼主| dft2010 发表于 2022-12-17 22:48
amoxuk 发表于 2022-12-17 22:07
你的影视剧的名称全部不一样吗,如果名字有特征的话,可以在mkdir那里判断一下名称的前缀(影视剧名称)是 ...

名字肯定是县委大院第一集到第X集这样的。。
 楼主| dft2010 发表于 2022-12-17 22:50
gzsklsskszngc 发表于 2022-12-17 22:13
我也不懂,让AI来回复你:
可以使用Python的os模块来实现文件自动分类,具体步骤如下:
1. 首先,使用os. ...

这个一看就不对啊,这是分类扩展名了,比如DOC一个文件夹、电子表格一个文件夹。。。电影的后缀都是一样的,区别就是前缀是XXX的第XX集,如何创建一个XX文件夹把N个XX的文件归类到一个就是个问题。。
木头MT 发表于 2022-12-17 23:33
你正则取一下文件名,如果文件名符合就放一块就行,写个循环
木头MT 发表于 2022-12-17 23:40
[Python] 纯文本查看 复制代码
import os
import re
import shutil
# 设置待分类的文件夹的路径
folder_path = '/path/to/folder'

# 读取文件夹中的文件
files = os.listdir(folder_path)
# 定义正则表达式来匹配中文字符
pattern = r'[\u4e00-\u9fff]+'

for file in files:
    # 使用正则表达式匹配文件名的前缀中的中文字符
    match = re.search(pattern, file)
    if match:
        # 如果匹配到了,获取匹配的文本
        prefix = match.group()
        # 将文件移动到新建的文件夹中
        shutil.move(os.path.join(folder_path, file), os.path.join(folder_path, prefix))
头像被屏蔽
tl;dr 发表于 2022-12-18 08:15
提示: 作者被禁止或删除 内容自动屏蔽
三滑稽甲苯 发表于 2022-12-18 08:25
对名字进行正则匹配就好了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 04:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表