python 中os.path模块用于操作文件或文件夹

os.path.exists(path) 判断文件路径是否存在

dir = "c:\windows"
if os.path.exists(dir) :
  print "dir exists"
else :
  print "no exists"

os.path.isfile(path) 判断path是否是文件

dir = "c:\windows\system32\cmd.exe"
if os.path.isfile(dir) :
  print "file exists"
else :
  print "no exists"

os.path.getsize(path) 获取path文件的大小

size = os.path.getsize(dir)
print size/1024

os.path.walk(path) 遍历path,返回一个三元组(dirpath, dirnames, filenames). dirpath表示遍历到的路径, dirnames表示该路径下的子目录名,是一个列表, filesnames表示该路径下的文件名,也是一个列表. 例如: 当遍历到c:\windows时,dirpath="c:\windows", dirnames是这个路径下所有子目录名的列表,filenames是这个路径下所有文件名的列表

for (root, dirs, files) in os.walk("C:\windows"):  列出windows目录下的所有文件和文件名
  for filename in files:
    print os.path.join(root,filename)

  for dirc in dirs:

    print os.path.join(root,dirc)

问题 1 获取给定文件夹的大小?

  要遍历文件的大小,只需要遍历文件内的所有文件,然后将所有文件夹的大小加起来

def getDirSzie(dir) :
for (root,dirs,files) in os.walk(dir,False) :
  Size = 0
  for filename in files :
    Size += os.path.getsize(os.path.join(root,filename))
  print root,Size/1024

问题 2 遍历一个文件夹的子目录,不遍历子目录的字目录?

os.listdir(path) 函数列出指定目录下的文件和文件夹

dir = 'c:/windows'
if os.path.exists(dir):
  dirs = os.listdir(dir)
  for dirc in dirs:
    print dirc
else :
  print "dir not exists"

问题3 删除指定目录下空的目录

for (root, dirs, files) in os.walk(path) :
  for item in dirs :
    dir = os.path.join(root, item)
    try :
      print dir
      os.rmdir(dir)
    except :
      pass

问题4  修改指定目录下所有文件的文件后缀

for (root,dirs,files) in os.walk(path) :
  for item in files :
    d = os.path.join(root, item)
    name = d + ".eml"
    os.rename(d, name)

python实现文件夹遍历的更多相关文章

  1. python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...

  2. python 关于文件夹的操作

    在python中,文件夹的操作主要是利用os模块来实现的, 其中关于文件夹的方法为:os.lister() , os.path.join() , os.path.isdir() #  path 表示文 ...

  3. Python打包文件夹的方法小结(zip,tar,tar.gz等)

    本文实例讲述了Python打包文件夹的方法.分享给大家供大家参考,具体如下: 一.zip ? 1 2 3 4 5 6 7 8 9 10 11 import os, zipfile #打包目录为zip文 ...

  4. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  5. HALCON初步:文件夹遍历,文件筛选,文件名拆分,图片读取及保存

    [1]文件夹遍历 list_image_files ( : : ImageDirectory, Extensions, Options : ImageFiles) ImageDirectory: 文件 ...

  6. 用Python打开文件夹

    用Python读取文件夹, 然后打开文件 下面读取到文件的每一个内容, 然后加上路径 import os path = r'../Downloads/text/content' for filenam ...

  7. 如何使用python 新建文件夹以及递归创建文件夹

    转载:如何使用python 新建文件夹以及递归创建文件夹 | 酷python (coolpython.net) 1. os.mkdir 使用python创建文件夹,通常使用os.mkdir方法,在使用 ...

  8. python文件夹遍历,文件操作,获取文件修改创建时间

    在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前 ...

  9. python:创建文件夹:写入文本1:读取txt:读取Excel文件遍历文件夹:

    https://blog.csdn.net/u011956147/article/details/80369731 创建文件夹: import osimport shutil def buildfil ...

随机推荐

  1. linux中sftp默认登录的端口号是多少? sftp通过指定的端口号连接?sftp默认端口号

    需求描述: 今天一个同事,遇到个问题,程序连接sftp服务器连接不上,问我端口号是多少, 我想了一下是21还是22,所以就做了测试,发现sftp默认的连接端口号是22, 在此做下记录. 操作过程: 1 ...

  2. 在懂得BREW接口的原理之后, 那么该知道BREW接口是如何声明和实现了

    参考:http://blog.csdn.net/peteryxk/article/details/1584514 首先介绍几个用到的宏定义: l         #define VTBL(iname) ...

  3. SQLServer------如何让标识列重新开始计算

    方法: DBCC CHECKIDENT (表名, RESEED, )

  4. 从头认识java-16.5 nio的数据转换

    这一章节我们来讨论一些nio的数据转换. 上面一章节我们提到ByteBuffer,可是他是面向二进制数据,对于编程来说不是非常方便,因此,java添加了转换数据的工具. 1.asCharBuffer ...

  5. NYOJ467 中缀式变后缀式 【栈】

    中缀式变后缀式 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描写叙述 人们的日常习惯是把算术表达式写成中缀式,但对于机器来说更"习惯于"后缀式.关于算术 ...

  6. Python 内部类

    内部类也就是在类的内部再定义类,如下: #!/usr/bin/env python #-*- coding:utf-8 -*- class People(object): class Chinese( ...

  7. UE4读取脑电波MindWave插件(展示如何使用第三方库制作UE4插件)

    MyEEGPlugin.uplugin { , , "VersionName": "1.0", "FriendlyName": " ...

  8. Linux命令之乐--grep

    正则表达式基本组成部分 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* St ...

  9. CentOS6.5安装图形界面(Gnome)

    因为是以最小化安装的Linux,无法使用图形界面,从网上看到资料,我使用yum安装果然很简单 ----------------------------------------------------- ...

  10. 事件和winform的学习

             记得现在已经不在学习winform啦,可是我们为什么还是学习啦,我感觉就是帮助我们往下一个层次进发啦,因为从控制台直接开始进入webform的学习,我们很难接受啦,估计效率也不高啦, ...