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使用PIL缩放网络图片并保存的方法
Apr 24 Python
举例讲解Python面相对象编程中对象的属性与类的方法
Jan 19 Python
Python3实现发送QQ邮件功能(文本)
Dec 15 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
python运行时强制刷新缓冲区的方法
Jan 14 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
Python模拟登录之滑块验证码的破解(实例代码)
Nov 18 Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 Python
Python如何绘制日历图和热力图
Aug 07 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 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
解析thinkphp基本配置 convention.php
2013/06/18 PHP
三种php连接access数据库方法
2013/11/11 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
python关于变量名的基础知识点
2020/03/03 Python
python报错: 'list' object has no attribute 'shape'的解决
2020/07/15 Python
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
“学雷锋活动月”总结
2014/03/09 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
辩护词范文大全
2015/05/21 职场文书
发票退票证明
2015/06/24 职场文书
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL