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 相关文章推荐
web.py 十分钟创建简易博客实现代码
Apr 22 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
Python爬取豆瓣视频信息代码实例
Nov 16 Python
PyTorch中topk函数的用法详解
Jan 02 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
Python csv文件记录流程代码解析
Jul 16 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
Aug 11 Python
python3实现简单飞机大战
Nov 29 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 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制作的中文拼音首字母工具类
2014/12/11 PHP
php实现登陆模块功能示例
2016/10/20 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
JavaScript触发器详解
2007/03/10 Javascript
一个报数游戏js版(约瑟夫环问题)
2010/08/05 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
jquery slibings选取同级其他元素的实现代码
2013/11/15 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
JS原型链怎么理解
2016/06/27 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
python中Flask框架简单入门实例
2015/03/21 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
Python用字典构建多级菜单功能
2019/07/11 Python
python解析yaml文件过程详解
2019/08/30 Python
python函数定义和调用过程详解
2020/02/09 Python
Python实现汇率转换操作
2020/05/03 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
美国和加拿大计算机和电子产品购物网站:TigerDirect.com
2019/09/13 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
2016大学生诚信考试承诺书
2016/03/25 职场文书
小学毕业教师寄语
2019/06/21 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL