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数据结构树和二叉树简介
Apr 29 Python
简单掌握Python的Collections模块中counter结构的用法
Jul 07 Python
TensorFlow如何实现反向传播
Feb 06 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
May 08 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
Apr 11 Python
python使用装饰器作日志处理的方法
Jul 11 Python
使用apiDoc实现python接口文档编写
Nov 19 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
Dec 04 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
Python实现socket库网络通信套接字
Jun 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
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
python多线程http下载实现示例
2013/12/30 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
CSS3 transition 实现通知消息轮播条
2020/10/14 HTML / CSS
日本最大化妆品和美容产品的综合口碑网站:cosme shopping
2019/08/28 全球购物
海南地接欢迎词
2014/01/14 职场文书
大学四年的个人自我评价
2014/01/14 职场文书
2014年村官工作总结
2014/11/24 职场文书
神龙架导游词
2015/02/11 职场文书
务工证明怎么写
2015/06/18 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
Oracle 触发器trigger使用案例
2022/02/24 Oracle
教你nginx跳转配置的四种方式
2022/07/07 Servers