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