python基础案例:给文件名添加前缀

客官°小女子只卖身不卖艺 2022-03-22 04:12 633阅读 0赞

首先来个小练习使用os模块中的mkdirs方法创建多层目录

思路分析:os.mkdirs()方法只能创建单层目录,要创建多级目录,需要将多级目录分开按照顺序先创建一层目录,然后切换到创建的目录里面再创建一层目录,也就是二级目录,然后在切换到目录里面,创建最后一级目录

程序为:

  1. def mkdirs(path):
  2. path_lst=path.split('/') # 将多级目录一'/'形式分开
  3. for file in path_lst:
  4. if not os.path.exists(file):
  5. # 如果在当前目录里面不存在指定的文件或者文件夹,就继续向下执行,同理循环进行
  6. os.mkdir(file) # 创建一层指定的目录
  7. os.chdir(file) # 切换到指定目录
  8. if __name__ == '__main__':
  9. mkdirs('file03/file04/file05')

运行结果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDIzOTU0MQ_size_16_color_FFFFFF_t_70

练习:给文件名添加前缀

程序是:

  1. import os
  2. while True:
  3. content=input('请输入目录:') # file04
  4. if os.path.exists(content):
  5. '''表示路径存在'''
  6. os.chdir(content) # 切换到输入的目录 切换到了file04目录
  7. all_file_lst=os.listdir(os.getcwd())
  8. # 获取目录列表形式 将file03目录下的文件或者文件夹以列表形式打印
  9. print(all_file_lst) # ['c.txt', 'demon01.py', 'file05', '__init__.py']
  10. file_lst=[] # 保存所有文件
  11. dir_lst=[] # 保存所有文件夹
  12. for file in all_file_lst:
  13. if os.path.isfile(file): # 判断当前目录下面的内容是否为文件
  14. '''文件'''
  15. file_lst.append(file)
  16. else:
  17. '''文件夹'''
  18. dir_lst.append(file)
  19. # 打印所有的文件和文件夹
  20. print('文件{}:'.format(file_lst))
  21. print('文件夹{}'.format(dir_lst))
  22. ret=input('请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)')
  23. if ret.lower() == 'a':
  24. prefix=input('请输入前缀:')
  25. for file in all_file_lst:
  26. os.rename(file,prefix+file)
  27. print('前缀添加成功了...')
  28. elif ret.lower() == 'd':
  29. prefix = input('请输入要删除的前缀:')
  30. for file in all_file_lst:
  31. os.rename(file, file.replace(prefix,'',1))
  32. print('删除前缀成功了...')
  33. elif ret.lower() == 'c':
  34. file_name=input('请输入文件名称:')
  35. with open(file_name,mode='w') as f:
  36. pass
  37. print('亲,创建成功了')
  38. elif ret.lower() == 'del':
  39. file_name=input('请输入要删除的文件名称:')
  40. os.remove(file_name)
  41. print('删除文件成功...')
  42. elif ret.lower() == 'r':
  43. file=input('请输入要修改的名称和新名称[old new]')
  44. file = file.split()
  45. os.rename(file[0],file[1])
  46. print('修改成功了...')
  47. else:
  48. print('亲,输错啦...')
  49. else:
  50. print('此路径不存在...')
  51. # 注意每次运行完后由于当前路径已经切换到了指定的内容,因此
  52. # 需要将路径再改回来,当前文件所在目录为根目录day24,需要将
  53. # 当前目录路径再改回day24
  54. os.chdir('..') # 切换到上一级目录,
  55. # 切换目录
  56. # os.chdir('..') # 切换到了根目录 day24
  57. # print(os.getcwd()) # 获取当前文件所在目录
  58. # print(__file__) # 获取当前文件的绝对路径
  59. # os.chdir(os.getcwd()) # 切换到file03所在的父目录也就是根目录day24
  60. # os.chdir(os.path.dirname(__file__))
  61. # 切换到当前文件或者文件夹所在路径的父目录,也就是day24

运行结果:

  1. C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe E:/homework/pythonworksplace/day24/demon02-给文件添加前缀.py
  2. 请输入目录:file04
  3. ['a.txt', 'c.txt', 'demon01.py', 'file05', '__init__.py']
  4. 文件['a.txt', 'c.txt', 'demon01.py', '__init__.py']:
  5. 文件夹['file05']
  6. 请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)a
  7. 请输入前缀:a
  8. 前缀添加成功了...
  9. 请输入目录:file04
  10. ['aa.txt', 'ac.txt', 'ademon01.py', 'afile05', 'a__init__.py']
  11. 文件['aa.txt', 'ac.txt', 'ademon01.py', 'a__init__.py']:
  12. 文件夹['afile05']
  13. 请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)d
  14. 请输入要删除的前缀:a
  15. 删除前缀成功了...
  16. 请输入目录:file04
  17. ['a.txt', 'c.txt', 'demon01.py', 'file05', '__init__.py']
  18. 文件['a.txt', 'c.txt', 'demon01.py', '__init__.py']:
  19. 文件夹['file05']
  20. 请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)del
  21. 请输入要删除的文件名称:c.txt
  22. 删除文件成功...
  23. 请输入目录:file04
  24. ['a.txt', 'demon01.py', 'file05', '__init__.py']
  25. 文件['a.txt', 'demon01.py', '__init__.py']:
  26. 文件夹['file05']
  27. 请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)

发表评论

表情:
评论列表 (有 0 条评论,633人围观)

还没有评论,来说两句吧...

相关阅读