Python文件与文件夹常见基本操作总结


Posted in Python onSeptember 19, 2016

本文实例讲述了Python文件与文件夹常见基本操作。分享给大家供大家参考,具体如下:

1、判断文件(夹)是否存在。

os.path.exists(pathname)

2、判断路径名是否为文件。

os.path.isfile(pathname)

3、判断路径名是否为目录。

os.path.isdir(pathname)

4、创建文件。

os.mknod(filename)  #windows下不可用
open(filename, "w")  #记得要关闭

5、复制文件。

shutil.copyfile("oldfile", "newfile")  #oldfile和newfile都只能是文件
shutil.copy("oldfile", "newfile")  #oldfile只能是文件,newfile可以是文件,也可以是目标目录

6、删除文件。

os.remove(filename)

7、清空文件。

file = open("test.txt", w)
file.seek(0)
file.truncate() #注意文件指针的位置
file.close()

8、创建目录。

os.mkdir(pathname)    #创建单级目录
os.makedirs(pathname)   #递归创建多级目录

9、复制目录。

shutil.copytree("olddir", "newdir")
#olddir和newdir都只能是目录,且newdir必须不存在

10、重命名文件或目录。

os.rename(oldname, newname)

11、移动文件或目录。

shutil.move(oldpath, newpath)

12、删除目录。

os.rmdir("dir")   #不能删除非空目录
'''
#可以删除非空目录,目录打开时也能删除
#约等于'rd /Q /S dir'
'''
shutil.rmtree("dir")

12.1、清空目录。

#encoding=utf-8
#适用于python3.5+
import os, sys, time, shutil
#清空目录
def ClearDir(dir):
  print('ClearDir ' + dir + '...')
  for entry in os.scandir(dir):
    if entry.name.startswith('.'):
      continue
    if entry.is_file():
      os.remove(entry.path)  #删除文件
    else:
      shutil.rmtree(entry.path)  #删除目录

13、切换目录。

os.chdir(newpath)

14、open常用模式。

'r':  只读(缺省。如果文件不存在,则抛出错误。)
'w':  只写(如果文件不存在,则自动创建文件。)
'a':  追加
'r+': 读写

15、由全路径名的到路径和文件名。

>>> pathfile = r'D:\abc\def\ghi.txt'
>>> os.path.dirname(pathfile)
'D:\\abc\\def'
>>> os.path.basename(pathfile)
'ghi.txt'

16、获取文件大小。

os.path.getsize(pathfile)
#单位为字节(Byte)

17、获取当前文件目录绝对路径。

import os, sys
if __name__ == "__main__":
  os.chdir('E:\\')
  print(sys.path[0])
  print(os.path.abspath('.'))
  print(os.path.dirname(os.path.abspath(__file__)))

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python中xrange和range的区别
May 13 Python
Python图算法实例分析
Aug 13 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
python3+dlib实现人脸识别和情绪分析
Apr 21 Python
Django 跨域请求处理的示例代码
May 02 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
Django中使用Celery的方法示例
Nov 29 Python
python字符串反转的四种方法详解
Dec 02 Python
python实现根据给定坐标点生成多边形mask的例子
Feb 18 Python
基于Python绘制个人足迹地图
Jun 01 Python
Python confluent kafka客户端配置kerberos认证流程详解
Oct 12 Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 #Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 #Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 #Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 #Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 #Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 #Python
Python操作Access数据库基本步骤分析
Sep 19 #Python
You might like
php 无限级缓存的类的扩展
2009/03/16 PHP
PHP 金额数字转换成英文
2010/05/06 PHP
php设计模式 Delegation(委托模式)
2011/06/26 PHP
PHP抽象类 介绍
2012/06/13 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
PHP fclose函数用法总结
2019/02/15 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python实现快速多线程ping的方法
2015/07/15 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
python爬虫请求头设置代码
2020/07/28 Python
python 操作excel表格的方法
2020/12/05 Python
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
美国最大点评网站:Yelp
2018/02/14 全球购物
学生党员思想汇报
2013/12/28 职场文书
小学二年级评语
2014/04/21 职场文书
保证书范文大全
2014/04/28 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
土地转让协议书
2014/09/27 职场文书
房产公证书
2015/01/23 职场文书
个人学习总结范文
2015/02/15 职场文书
暑假安全保证书
2015/02/28 职场文书
辩论赛新闻稿
2015/07/17 职场文书
中学后勤工作总结2015
2015/07/22 职场文书