Python实现文件夹遍历与文件读写操作

小岛来信
小岛来信
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍如何使用Python实现指定目录下的文件遍历、文件内容读取以及新文件的创建与保存。通过调用os模块,仅需约40行代码即可完成相关功能,相比Java更为简洁。文章提供了完整的Python代码示例,涵盖文件列表打印、内容读取及多行文字写入的具体实现。

需求分析

1、读取指定目录下的所有文件

2、读取指定文件,输出文件内容

3、创建一个文件并保存到指定目录

实现过程

Python编写此类代码简洁高效,实现上述功能仅使用了约40行代码。相比之下,昨天使用Java编写包含写入、创建、复制及重命名文件的功能时,代码量接近60行。

然而,简洁性的代价是略微牺牲了运行速度。不过,随着硬件性能的不断提升,这种运行速度的差异将逐渐缩小,直至人类难以察觉。

#-*- coding: UTF-8 -*- 

'''
1、读取指定目录下的所有文件
2、读取指定文件,输出文件内容
3、创建一个文件并保存到指定目录
'''
import os

# 遍历指定目录,显示目录下的所有文件名
def eachFile(filepath):
  pathDir = os.listdir(filepath)
  for allDir in pathDir:
    child = os.path.join('%s%s' % (filepath, allDir))
    print child.decode('gbk') # .decode('gbk')是解决中文显示乱码问题

# 读取文件内容并打印
def readFile(filename):
  fopen = open(filename, 'r') # r 代表read
  for eachLine in fopen:
    print "读取到得内容如下:",eachLine
  fopen.close()
  
# 输入多行文字,写入指定文件并保存到指定文件夹
def writeFile(filename):
  fopen = open(filename, 'w')
  print "\r请任意输入多行文字"," ( 输入 .号回车保存)"
  while True:
    aLine = raw_input()
    if aLine != ".":
      fopen.write('%s%s' % (aLine, os.linesep))
    else:
      print "文件已保存!"
      break
  fopen.close()

if __name__ == '__main__':
  filePath = "D:\\FileDemo\\Java\\myJava.txt"
  filePathI = "D:\\FileDemo\\Python\\pt.py"
  filePathC = "C:\\"
  eachFile(filePathC)
  readFile(filePath)
  writeFile(filePathI)

工欲善其事

近期尝试了几款常见的Python集成开发环境(IDE),发现Sublime Text 2对中文的支持存在不足,而Notepad++在自定义代码颜色方面不够便捷。

经过比较,最终认为Eclipse最为顺手,安装PyDev插件后,编写Python代码变得十分方便。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表