按文本搜索并更改指定文件夹中图片的名字


 文件系统修改名称及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文件夹内照片名称