制作文件备份

需求

输入文件的名字,然后程序自动完成对文件进行备份

分析

  1. 1.输入文件名 b.py
  2. 2.创建文件 文件名[复制].py
  3. 3.读取文件, 写入到复制的文件中

实现

  1. # 1.输入文件名 b.txt
  2. inputName = input('请输入文件名')
  3. # 2.创建文件 文件名[复制].py
  4. # inputName.find()
  5. # inputName.rfind()
  6. index = inputName.rfind('.')
  7. copyName = inputName[:index] + '[复制]' +inputName[index:]
  8. # 3.读取文件,写入到复制的文件中
  9. # 打开源文件
  10. inputFile = open(inputName)
  11. # 打开复制的文件
  12. copyFile = open(copyName,'w')
  13. """------------------ 读取一部分写入 ------------------"""
  14. line = inputFile.readline()
  15. while line:
  16. # 有数据,写入文件
  17. copyFile.write(line)
  18. # 读取一行
  19. line = inputFile.readline()
  20. # 关闭文件
  21. inputFile.close()
  22. copyFile.close()

文件统计

需求

输入一个文件名,统计文件中代码行数、注释行数、空行数
并输出代码以及注释

分析

  1. 1.输入文件名 test.py
  2. 2.打开文件
  3. 3.统计 readline
  4. 空行
  5. 注释行数 去空格 #开头
  6. 代码行数

代码

  1. # 1.输入文件名 test.py
  2. fileName = input('请输入要统计的文件名')
  3. # 2.打开文件
  4. f = open(fileName,encoding='utf-8')
  5. # 3.统计 readline
  6. # 空行 空
  7. # 注释行数 去空格 #开头
  8. # 代码行数
  9. # 定义三个变量保存空行 注释行数 代码行数
  10. emptyCount = 0
  11. commandCount = 0
  12. codeCount = 0
  13. """------------------ 统计 ------------------"""
  14. line = f.readline()
  15. # str = ' '
  16. while line:
  17. if not line.strip():
  18. emptyCount += 1
  19. elif line.strip().startswith('#'):
  20. commandCount += 1
  21. else:
  22. codeCount += 1
  23. # 读取下一行
  24. line = f.readline()
  25. print('代码数:%d,空行数:%d,注释数:%d'%(codeCount,emptyCount,commandCount))
  26. # 4.关闭文件
  27. f.close()