每天写一点,总有一天我这条咸鱼能变得更咸

python 中对文件及目录的操作基本依赖与os,shutil模块,其中以os模块为主,最主要的几个方法实例如下:

1.判断文件/目录是否存在(os.path.exists(filename)),实例如下:

  

文件存在则返回True,不存在则返回False

2.获取当前文件路径(os.getcwd()),实例如下:

3.删除文件(os.remove()),实例如下:

删除文件需确保文件确实存在

4.修改文件/目录名(os.rename()),实例如下:

修改文件名需要确定文件存在

5.遍历目录下的所有文件(os.walk),实例如下:

 #!/usr/bin/env python
# -*- coding: utf-8 -*-
import os for dirs,paths,names in os.walk(os.getcwd()):
for path in paths:
print path for name in names:
print os.path.join(dirs,path,name)

输出如下:

 .idea
D:\test_his\.idea\a.txt
D:\test_his\.idea\b.txt
D:\test_his\.idea\main.py
D:\test_his\.idea\scrpy.py
D:\test_his\.idea\test.py
D:\test_his\.idea\test1.py
inspectionProfiles
D:\test_his\.idea\inspectionProfiles\encodings.xml
D:\test_his\.idea\inspectionProfiles\misc.xml
D:\test_his\.idea\inspectionProfiles\modules.xml
D:\test_his\.idea\inspectionProfiles\test_his.iml
D:\test_his\.idea\inspectionProfiles\workspace.xml
D:\test_his\.idea\inspectionProfiles\inspectionProfiles\profiles_settings.xml

 其余方法和函数简介如下:

名称 作用 备注
os.listdir(filedir) 返回指定目录下的所有文件名和目录名 目录存在
os.removedirs(r'filedir') 删除多个目录 目录存在
os.path.getsize(filename) 获取文件大小  
os.path.splitext(filename) 分离后缀名 分离最后一个.符号后面的前后内容
os.path.isfile() 判断是否为文件  
os.path.isdir() 判断是否为目录  
os.path.split() 分离文件目录和文件名  
os.path.dirname() 获取路径名  
os.path.islink() 是否存在链接  
os.mkdir() 创建目录  
os.makedirs() 创建多个目录  
os.chmod() 修改权限  
os.stat 获取文件属性  
shutil.copyfile() 拷贝文件  
shutil.copy(file,path) 拷贝文件到目录  
shutil.copytree(path,newpath) 拷贝整个目录  
shutil.move() 移动文件或者目录  
shutil.rmtree(dir) 删除目录  

python 操作目录的更多相关文章

  1. Python操作文件和目录

    Python操作文件和目录 读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱 ...

  2. python操作数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

  3. Python操作Redis、Memcache、RabbitMQ、SQLAlchemy

    Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含 ...

  4. Python获取目录、文件的注意事项

    Python获取指定路径下的子目录和文件有两种方法: os.listdir(dir)和os.walk(dir),前者列出dir目录下的所有直接子目录和文件的名称(均不包含完整路径),如 >> ...

  5. Python操作文件、文件夹、字符串

    Python 字符串操作 去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sSt ...

  6. python运维开发(十一)----python操作缓存memcache、redis

    内容目录: 缓存 memcache redis memcache Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数 ...

  7. python模块目录文件后续

    1,新增PythonModule加载path Ruiy tip(关于python list[]数据库类型特殊你懂的!append(""),extend([""] ...

  8. Python 之路:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    一.Memcached Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负债.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速 ...

  9. Python操作Zip文件

    Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt. import zipfile # ...

随机推荐

  1. scss 入门基础

    在一个项目中,样式是必不可少的一部分,而对于一个完整的项目来说是有个基准色调的.在项目需求变化不大的情况下,可以直接在css中写这些颜色值之类的东西.但是如果遇到一个朝令夕改的领导或者甲方,那会变得相 ...

  2. requests访问https站点证书告警问题

    背景 想使用api的方式去访问公司内部azkaban平台,https站点,azkaban的官方api文档使用的curl语句,如下: curl -k -X POST --data "actio ...

  3. C# 方法递归

    一.简介 方法递归就是自己调用自己. 未完结

  4. .NET Core应用中使用分布式缓存及内存缓存

    .NET Core针对缓存提供了很好的支持 ,我们不仅可以选择将数据缓存在应用进程自身的内存中,还可以采用分布式的形式将缓存数据存储在一个“中心数据库”中.对于分布式缓存,.NET Core提供了针对 ...

  5. [转帖]龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上

    龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上 http://news.mydrivers.com/1/663/663122.htm 龙芯是中科院下属的计算机所研发的自主产权国 ...

  6. 轻量级搜索工具【Everything】的设置

    下面是我对 轻量级搜索工具[Everything]的设置 Everything 下载地址:http://www.voidtools.com/downloads/ 1. 排除 Windows => ...

  7. HTML--元素居中各种处理方法

    1.水平居中 对于行内元素可以使用: .center-children { text-align: center; } 对于块元素,你可以设置其左右外边距为:auto;同时你还应该设置该元素的宽度,不 ...

  8. Vuex实现状态管理

    Vuex使用总结 1 Vuex简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,Vuex抽取了各个组件的共享部分,以全局单例模式进行状态的管理.在原生vue中各个组件之间传值使用的 ...

  9. Delphi - 利用TRzTrayIcon实现WinFrm工程最小化到托盘

    第三方RC控件的安装 浏览器搜索Delphi Rz控件下载,找到下载一个安装文件,解压后点击RC3.exe一键安装. Delphi WinFrm工程最小化到托盘 Delphi新建WinFrm工程,在主 ...

  10. Golang中设置函数默认参数的优雅实现

    在Golang中,我们经常碰到要设置一个函数的默认值,或者说我定义了参数值,但是又不想传递值,这个在python或php一类的语言中很好实现,但Golang中好像这种方法又不行.今天在看Grpc源码时 ...