python读取一个目录下所有txt里面的内容方法

yipeiwu_com5年前Python基础

实例如下所示:

import os
allFileNum = 0
def printPath(level, path):
 global allFileNum
 '''''
 打印一个目录下的所有文件夹和文件
 '''
 # 所有文件夹,第一个字段是次目录的级别
 dirList = []
 # 所有文件
 fileList = []
 # 返回一个列表,其中包含在目录条目的名称
 files = os.listdir(path)
 # 先添加目录级别
 dirList.append(str(level))
 for f in files:
  if(os.path.isdir(path + '/' + f)):
   # 排除隐藏文件夹。因为隐藏文件夹过多
   if(f[0] == '.'):
    pass
   else:
    # 添加非隐藏文件夹
    dirList.append(f)
  if(os.path.isfile(path + '/' + f)):
   # 添加文件
   fileList.append(f)
 # 当一个标志使用,文件夹列表第一个级别不打印
 i_dl = 0
 for dl in dirList:
  if(i_dl == 0):
   i_dl = i_dl + 1
  else:
   # 打印至控制台,不是第一个的目录
   print('-' * (int(dirList[0])), dl )
   # 打印目录下的所有文件夹和文件,目录级别+1
   printPath((int(dirList[0]) + 1), path + '/' + dl)
 for fl in fileList:
  # 打印文件
  print(fl)
  f = open('C:/Users/DELL/Desktop/userid3/'+fl)#读取完txt再读txt里面的类容
  # print(f.read())
  # 'a'表示附加模式,用写入模式‘w'要小心,如果指定文件已经存在,python将再返回文件对象前清空该文件
  f2 = open("20170610uid.txt",'a')
  f2.write(f.read())
  # 以下三行是逐行读取,跟f2.write(f.read())效果一样
  # alllines = f.readlines()
  # for eachLine in alllines:
  #   f2.write(eachLine)
  f2.close()
  # 随便计算一下有多少个文件
  allFileNum = allFileNum + 1
  print(allFileNum)

if __name__ == '__main__':
 printPath(1, 'C:/Users/DELL/Desktop/userid3/')

以上这篇python读取一个目录下所有txt里面的内容方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用Tkinter实现转盘抽奖器的步骤详解

Python使用Tkinter实现转盘抽奖器的步骤详解

我使用 Python 中的 Tkinter 模块实现了一个简单的滚动抽奖器,接下来继续写一个简单的转盘抽奖器。 Tkinter 实现滚动抽奖器参考:/post/177913.htm 滚动...

详解flask入门模板引擎

模板引擎 说明:模板文件就是按照一定的规则书写的展示效果的HTML文件 模板引擎就是负责按照指定规则进行替换的工具 模板引擎选择jinja2 一、渲染模板的方法 1、将渲染的模板进行...

python数据化运营的重要意义

python数据化运营 数据化运营的核心是运营,所有数据工作都是围绕运营工作链条展开的,逐步强化数据对于运营工作的驱动作用。数据化运营的价值体现在对运营的辅助、提升和优化上,甚至某些运营...

python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】

python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】

在pycharm使用过程中,对于每次新建文件的编码格式和关于代码编写者的一些个人信息快捷填写,方法如下: 1.打开pycharm,选择File-Settings(Ctrl + Alt +...

Python OpenCV 使用滑动条来调整函数参数的方法

Python OpenCV 使用滑动条来调整函数参数的方法

引言 在观察OpenCV中某个函数在不同参数的情况下,所得到的效果的时候,我之前是改一次参数运行一次,这样做起来操作麻烦,效率低下。为了更便捷的观察参数变化时带来的处理效果改变 可以使用...