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判断端口是否打开的实现代码
Feb 10 Python
videocapture库制作python视频高速传输程序
Dec 23 Python
浅谈python多线程和队列管理shell程序
Aug 04 Python
Python出现segfault错误解决方法
Apr 16 Python
python数据处理实战(必看篇)
Jun 11 Python
pandas 将索引值相加的方法
Nov 15 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
pandas DataFrame索引行列的实现
Jun 04 Python
使用python模拟命令行终端的示例
Aug 13 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
python中adb有什么功能
Jun 07 Python
pycharm中leetcode插件使用图文详解
Dec 07 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
yii实现创建验证码实例解析
2014/07/31 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
event.srcElement 用法笔记e.target
2009/12/18 Javascript
javascript getElementsByClassName函数
2010/04/01 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
Python运算符重载用法实例分析
2015/06/01 Python
Python中模块string.py详解
2017/03/12 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
Python使用pymysql小技巧
2017/06/04 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
Sanic框架流式传输操作示例
2018/07/18 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
Pycharm创建项目时如何自动添加头部信息
2019/11/14 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
异常和异常类的概念
2014/09/12 面试题
医学实习生自我鉴定
2013/12/12 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书