1,批量整理文档(附源码)
2,文件批量重命名(附源码)
所用到模块:os import os
主要方法:
os.chdir(path) 打开文件,一个参数,参数是路径,无返回值;注意:路径的 \ 和转义字符相同所以用 \\ 或 r’ /Users/wenwen/Desktop/资料’ 形式
os.getcwd() 功能是返回当前 Python 程序正在操作的目录,返回值是路径
os.listdir() 列举目录内容,一个可选参数。传入一个参数,表示要列举内容的目录的路径。如果不传入,就默认列举当前目录中的内容。返回值是各个文件的文件名。
os.mkdir() 创建文件夹
os.name() 它的真正功能是给文件重新设定路径(也就是移动文件)。这个函数接受两个参数,分别是文件的旧路径和新路;另一种用法,不移动文件,只修改文件名。只要保持文件路径部分的目录不变,只改变后面的文件名部分就可以。
os下os.path模块
os.path.splitext():分离扩展名
os.path.splitext() 是 os.path 子模块中的一个函数,作用是将路径或文件名中的扩展名和其他部分分开。这个函数要求传入一个路径或文件名,返回一个包含两个元素的元组.
其他
set() 可以去重我们可以用 。它作用是将对象转换成 set(集合),集合 是 Python 中的一种特殊数据类型,用花括号 {} 包裹多个元素,但是元素和字典的键一样,不能重复。
1,批量整理文档整理文档(文档下载链接)
import os
genre = {
'文档': ['.doc', '.docx', '.xls', '.xlsx', '.txt', '.pdf'],
'图片': ['.jpg', '.png', '.gif'],
'音频': ['.mp3', '.aac', '.wav'],
'压缩包': ['.zip', '.rar', '.7z']
}
path = r'D:\Progect\pythonProject\pachong\第一关课件\第一关课件\Desktop\资料'
os.chdir(path) # 打开要整理文件夹
for i in genre.keys(): # 建立4个文件夹
os.mkdir(i)
files = os.listdir() #获得该目录下所有文件
def find(extensions): #根据后缀名返回文件夹名
for key, value in genre.items():
if extensions in value:
return key
for file in files: #从第一个文件夹开始遍历
split = os.path.splitext(file)[1] #第i个文件夹的后缀名
if split != '': #排处隐藏文件,文件夹等无后缀名的文件
target_file = find(split)
new_path = os.path.join(target_file, file) #新文件的路径
os.rename(file, new_path) #移动
else:
continue
print('over')
2,文件批量重命名
import os
os.chdir(r'D:\Progect\pythonProject\pachong\第一关课件\第一关课件\Desktop\项目报告')
files = os.listdir()
for file in files:
if os.path.splitext(file)[1] == '.docx':
newname = os.path.splitext(file)[0] + "--" + os.path.splitext(file)[1]
os.rename(file, newname)
print('over')
for i in files:
print(i)