用python设计一个实用程序

C盘有六个学科对应的文件夹:数学、语文、英语、生物、化学、物理,现在C盘中有很多学习资料如:高等数学.pptx、离散数学.docx、初中语文.word、小学语文.pptx、高中语文.xlsx、四级英语.jpg、六级英语.docx、考研英语.txt、生物工程.docx、生物精讲.pptx、有机化学.jpg、无机化学.docx、天体物理.pptx等。
用python设计一个程序,能够识别学习资料中的学科关键字,并将其存入对应的文件夹中。如高等数学、离散数学,识别其中的”数学“关键字,并将其存入”数学“文件夹

代码实现如下,望采纳


# -*- coding: utf-8 -*-
import os
import shutil

root = r"C:/"
math_path = os.path.join(root,'数学')
yuwen_path = os.path.join(root,'语文')
english_path = os.path.join(root,'英语')
shengwu_path = os.path.join(root,'生物')
huaxue_path = os.path.join(root,'化学')
wuli_path = os.path.join(root,'物理')

all_filenames = os.listdir(root)
for each in all_filenames:
    path = os.path.join(root,each)
    if os.path.isfile(path):
        if "数学" in each:
            shutil.move(path,math_path)
        elif "语文" in each:
            shutil.move(path, yuwen_path)
        elif "英语" in each:
            shutil.move(path, english_path)
        elif "生物" in each:
            shutil.move(path, shengwu_path)
        elif "化学" in each:
            shutil.move(path, huaxue_path)
        elif "物理" in each:
            shutil.move(path, wuli_path)





亲测可行

import os
import shutil

path1='C:/dir/'  ##6个学科文件夹所在的父文件夹。如:C:/dir/数学
path2='C:/file/' ##文件所在的目录,如:C:/file/小学语文.pptx

str1='数学、语文、英语、生物、化学、物理'
lt=str1.split('、')

fs=os.listdir(path2)

for f in fs:
    mf=[i for i in lt if i in f]
    if len(mf)==0:
        print("{} 无目标路径".format(f))
    elif len(mf)==1:
        print("{} ==> {}".format(f,mf[0]))
        shutil.copy(path2+f,path1+mf[0]+'/'+f)
    else:
        print("找到多个匹配,{} == {}".format(f,mf))

参考下这个,自己动手写下

import os
from re import T

path = r'F:\pass\pass'     # 绝对路径目录

files = os.listdir(path)  # 得到文件夹下的所有文件名称
for file in files:  # 遍历文件夹
    position = path+'\\' + file  # 构造绝对路径,"\\",其中一个'\'为转义符
    # print(position)
    with open(position, encoding='UTF-8') as f:
        contents = f.readlines()
    if contents:
        for line in contents:
            if '10800049' in line:   # 查找含有关键字的行
                print(position)
                # print(line)
                with open('log.txt', 'a') as f:
                    f.write(position+'\n')  # 保存含有关键字的文件


import os 
import shutil
def fun(s,f):
    try:
        if s in f:
            shutil.move(f,"C:\\"+s)
    except:
        print(f,'已经被分类!')
root = "C:\\" 
for dirpath, dirnames, filenames in os.walk(root): 
    for filepath in filenames:
        file=os.path.join(dirpath, filepath)
        if os.path.splitext(file)[-1] in ['.pptx','.docx','.word','.xlsx','.jpg','.txt']:
            for i in ['数学','语文','英语','生物','化学','物理']:
                fun(i,file)

python实现文件夹内检索关键信息并汇总
https://blog.csdn.net/beilu14hao/article/details/122962737