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常用列表数据结构小结
Aug 06 Python
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
Jun 14 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
python requests 使用快速入门
Aug 31 Python
TensorFlow安装及jupyter notebook配置方法
Sep 08 Python
Django开发中的日志输出的方法
Jul 02 Python
对python pandas 画移动平均线的方法详解
Nov 28 Python
浅谈python3发送post请求参数为空的情况
Dec 28 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
Django和Ueditor自定义存储上传文件的文件名
Feb 25 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
使用js获取QueryString的方法小结
2010/02/28 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
树结构之JavaScript
2017/01/24 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
用python实现面向对像的ASP程序实例
2014/11/10 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
python中的二维列表实例详解
2018/06/19 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
Python使用分布式锁的代码演示示例
2018/07/30 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
大学毕业登记表自我鉴定
2013/10/09 职场文书
领导接待方案
2014/03/13 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
应届生自荐书
2014/06/23 职场文书
委托书的格式
2014/08/01 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
超市店长竞聘书
2015/09/15 职场文书
志愿服务心得体会
2016/01/15 职场文书
解决Jupyter-notebook不弹出默认浏览器的问题
2021/03/30 Python
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js