按文本搜索并更改指定文件夹中图片的名字
文件系统修改名称及OS包操作
一、需求
1、文本格式,文本内容每行包括一名学员,序号,姓名,身份证号,家庭住址,且以空格分割
2、文件夹pho,以身份证号命名的个人照片,其中包括没有学员的照片
3、将文件夹中学员的个人照片重命名为其姓名
二、设计思路
1、获取文本内所有内容,并调整格式,输入列表
2、获取文件pho内所有照片名称,输入列表
3、遍历两个列表,找到相同身份证号
4、将照片修改为身份证号对应的姓名
三、文件系统及OS包
文件系统的操作主要来源于标准库中OS包
文件系统
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
打开文件,并提供相关的方法读写文件的内容供程序处理和使用
file.read([n]) 将整个文件读入文件,或指定n个字节
file.readline([n]) 读入文件的一行到字符串中
file.readlines() 将整个文件按行读入到列表中
file.write(s) 向文件中写入字符串
file.writelines(lines) 向文件中写入一个行数据列表
file.close() 关闭打开的文件
打开文件后一定要关闭文件,可采取with糖衣语句执行完自动关闭文件,
eg : with open(name) as f:
f.read(name)
print(f.closed())
可用closed()来检查是否关闭文件,closed()函数返回Ture/Flase
OS包相关操作
使用前要引用OS包 import os
os.getcwd() 获得当前的路径
os.listdir(path) 获取指定目录的内容
os.mkdir(path) 创建目录
os.rmdir(path) 删除目录
os.path.isdir(path) 判断某一路径是否为目录
os.path.isfile(path) 判断某一路径是否为文件
os.chdir(path) 方法用于改变当前工作目录到指定的路径
os.walk() 可以递归地遍历指定目录下的所有文件和子目录
walk(top, topdown=True, onerror=None, followlinks=False)
TXT文件内容
pho文件夹内照片名称