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

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

对名字进行正则匹配就好了
页: [1] 2
查看完整版本: python如何文件自动分类