Python遍历文件夹和读写文件的实现代码

yipeiwu_com5年前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,发现Subline tx2对中文的支持不好, NotePad++ 代码自定义颜色不方便。

  用来用去还是Eclipse最顺手,装上PyDev插件之后,编写Python代码很方便;

作 者:蒋至乙

相关文章

用Python编写一个简单的Lisp解释器的教程

用Python编写一个简单的Lisp解释器的教程

本文有两个目的: 一是讲述实现计算机语言解释器的通用方法,另外一点,着重展示如何使用Python来实现Lisp方言Scheme的一个子集。我将我的解释器称之为Lispy (lis.py)...

python中pygame针对游戏窗口的显示方法实例分析(附源码)

python中pygame针对游戏窗口的显示方法实例分析(附源码)

本文实例讲述了python中pygame针对游戏窗口的显示方法。分享给大家供大家参考,具体如下: 在这篇教程中,我将给出一个demo演示: 当我们按下键盘的‘f'键的时候,演示的窗口会切...

深入探究Django中的Session与Cookie

前言 Cookie和Session相信对大家来说并不陌生,简单来说,Cookie和Session都是为了记录用户相关信息的方式,最大的区别就是Cookie在客户端记录而Session在服...

解决python nohup linux 后台运行输出的问题

遇到问题 nohup python flush.py & 这样运行,生成了nohup.out文件,但是内容始终是空的,试了半天也不行。浪费了不少时间。 原因 python的输出又缓...

python XlsxWriter模块创建aexcel表格的实例讲解

python XlsxWriter模块创建aexcel表格的实例讲解

安装使用pip install XlsxWriter来安装,Xlsxwriter用来创建excel表格,功能很强大,下面具体介绍: 1.简单使用excel的实例: #coding:u...