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 21 Python
python k-近邻算法实例分享
Jun 11 Python
用Python的线程来解决生产者消费问题的示例
Apr 02 Python
Python中的sort()方法使用基础教程
Jan 08 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
基于Python打造账号共享浏览器功能
May 30 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
Aug 22 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
python实现快递价格查询系统
Mar 03 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 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 VS ASP
2006/10/09 PHP
php操作mongoDB实例分析
2014/12/29 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
CSS和Javascript简单复习资料
2010/06/29 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
matplotlib简介,安装和简单实例代码
2017/12/26 Python
python实现电脑自动关机
2018/06/20 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
英国健身超市:Fitness Superstore
2019/06/17 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
优秀教师事迹简介
2014/02/02 职场文书
就业自我评价
2014/02/04 职场文书
生日寄语大全
2014/04/08 职场文书
二手房买卖协议书
2014/04/10 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
文员岗位职责
2015/02/04 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
Tomcat用户管理的优化配置详解
2022/03/31 Servers