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脚本帮你找出微信上删除你好友的人
Jan 07 Python
python实现识别相似图片小结
Feb 22 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
Nov 30 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
Apr 20 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
基于MATLAB和Python实现MFCC特征参数提取
Aug 13 Python
Python collections中的双向队列deque简单介绍详解
Nov 04 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
Python获取指定网段正在使用的IP
Dec 14 Python
Python opencv缺陷检测的实现及问题解决
Apr 24 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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
dedecms模板标签代码官方参考
2007/03/17 PHP
PHP 事件机制(2)
2011/03/23 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
Python实现去除代码前行号的方法
2015/03/10 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
Python性能提升之延迟初始化
2016/12/04 Python
python编程实现归并排序
2017/04/14 Python
使用Scrapy爬取动态数据
2018/10/21 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
2019/08/06 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
C#实现启动一个进程
2016/10/01 面试题
会计学个人自荐信模板
2013/12/13 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
医德医风自我评价
2014/09/19 职场文书
大专护理专业自荐信
2015/03/25 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
欢送领导祝酒词
2015/08/12 职场文书
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL