背景需求:
信息技术培训2.0结束了,最后全体教师需要完成一份园本培训作业,疫情期间无法直接打印纸张作业,为了便于收集培训作业,我设计了一个作业模板(下图蓝色部分),采用了二维码收集的方法。要求教师们填写完成后,传到微信手机中,用WPS打开,安卓系统手机,可以扫码打开上传界面。导入WPS,上传docx作业。
1.电脑写好作业,传到微信,微信用WPS打开,一定要看到文件内部内容了,说明手机里存好了。
2.扫码,上传页面,点击上传作业文件
整理需求:
60多位教师上传作业后,我在系统后台下载打包的文件。
解压缩后的文件如下
如何把文件名改成:
序号+班组+名字+信息技术2.0园本培训小结.docx
代码演示:
'''
author:阿夏
time:2022-07-05 16:00
'''
import os
import time
path =r"C:\Users\jg2yXRZ\OneDrive\桌面\123"
fileList=os.listdir(path)
# 删除“_请将培训小结.docx上传(电_)
for file in fileList:
split_str = file.split('_')
newname1 = split_str[0] # _的第0部分=序号
split_str = file.split('_')
newname2 = split_str[2] # _的第2部分=“()+后面的内容”
newname=newname1+ '_'+newname2
oldname_path = os.path.join(path,file)
# 文件新路径
newname_path = os.path.join(path,newname)
# 新旧对调
os.rename(oldname_path, newname_path)
time.sleep(3)
print('第1步完成')
# 删除“右括号及右侧的_信息技术2.0培训小结.docx_)
fileList=os.listdir(path)
for file in fileList:
split_str = file.split(')')
newname1 = split_str[0] # _只要)左侧的内容
# 文件旧路径
newname=newname1
oldname_path = os.path.join(path,file)
# 文件新路径
newname_path = os.path.join(path,newname)
# 新旧对调
os.rename(oldname_path, newname_path)
time.sleep(3)
print('第2步完成')
fileList=os.listdir(path)
# 删除“左括号“+
for file in fileList:
split_str = file.split('(') # 保留(左侧的内容
newname1 = split_str[0]
split_str = file.split('(')# 保留(右侧的内容
newname2 = split_str[1]
# 文件旧路径
newname=newname1+newname2
oldname_path = os.path.join(path,file)
# 文件新路径
newname_path = os.path.join(path,newname)
# 新旧对调
os.rename(oldname_path, newname_path)
time.sleep(3)
print('第3步完成')
fileList=os.listdir(path)
# 利用组室与名字之间的空格,添加一个“+”
for file in fileList:
split_str = file.split(' ')# 保留空格左侧的内容
newname1 = split_str[0]
split_str = file.split(' ')# 保留空格右侧的内容
newname2 = split_str[1]
# 文件旧路径
newname=newname1 + '_'+ newname2+"信息技术2.0园本培训小结.docx"# 加一个尾注
oldname_path = os.path.join(path,file)
# 文件新路径
newname_path = os.path.join(path,newname)
# 新旧对调
os.rename(oldname_path, newname_path)
time.sleep(3)
print('第4步完成(去桌面上看看吧)')
逐步效果图:
1、文件配置:需要改名的docx摆放的 位置:+原始文件的样式(很长)
2.VS文件配置(py文件在D:/test/下任意子文件或子文件以下的都不影响运行)
3、初始文件样式
4、第1步运行代码及运行后的样式:
4、第2步运行代码及运行后的样式:
4、第3步运行代码及运行后的样式:
4、第4步运行代码及运行后的样式:
视频效果
20220705 python docx作业下批并调整文件名
主要解题思路:
1、docx文件名上 可以用来拆解的符号
(1))符号 _
有两个_,所以可以拆分成“0 1 2”共3段内容
(2)符号(
有两个(,也可以拆分成“0 1 2”共3段内容
符号 )
只有1个),拆分“0,1”2个段落内容
符号 .
只有1个点. ,拆分“0,1”2个段落内容
符号 (空格)
空格虽然看不见,但也是用于分割文字段落的一种符号
--------------------------------------------------------------------------------------------------------------------------
202200711补充(汉字也可以做分割符号)
汉字(培)
'''
author:阿夏
time:2022-07-11 18:53
'''
import os
import time
path =r"C:\Users\jg2yXRZ\OneDrive\桌面\123"
fileList=os.listdir(path)
# 删除“_请将培训小结.docx上传(电_)
for file in fileList:
split_str = file.split('培')
newname1 = split_str[0] # _的第0部分=序号
split_str = file.split('培')
newname2 = split_str[1]
# _的第2部分=“()+后面的内容”
newname=newname1+ '园本培'+newname2
oldname_path = os.path.join(path,file)
# 文件新路径
newname_path = os.path.join(path,newname)
# 新旧对调
os.rename(oldname_path, newname_path)
print('第4步完成(去桌面上看看吧)')
汉字切割原理:(培 字为切割点,培字被删除了,所以后面写加入“园本”时后面还要加“培”=“园本培)
--------------------------------------------------------------------------------------------------------------------------
2、本次文件名上可以提取的主要信息:序号、班组 名字
(1)利用原始文件上的“_"符号,将”序号“提取。
序号在第一个“_”之前,提取【0】