文件有两个管家属性:路径和文件名。

路径指明了文件在磁盘的位置,文件名原点的后面部分称为扩展名(后缀),它指明了文件的类型。

一:文件夹操作

Python中os 模块可以处理文件夹

1,当前工作目录

import os
p = os.getcwd()
print(p)
#C:\Users\Administrator\Desktop

2,创建新目录

import os
os.makedirs('C:\\Users\\Administrator\\Desktop\\01\\02')

注:路径中所有必须的文件夹,都会被创建

3,删除目录

import os
os.rmdir('C:\\Users\\Administrator\\Desktop\\01\\02')

注:rmdir()只能删除空文件夹,否则抛出异常

4,列出当前目录内容(文件,文件夹),返回列表

import os
p = os.listdir('C:\\Users\\Administrator\\Desktop')
print(p)

5,修改当前目录

import os
os.chdir('C:\\Users\\Administrator')
print(os.listdir('.'))

注:“ .”代表当前路径

二:查找匹配的文件或者文件夹

使用glob()函数可以查找匹配文件或文件

 import glob
glob.glob('2*') #查找以2开头的文件或者文件夹
glob.glob('d????')       #查找以d开头的并且全长为5个字符的文件或者文件夹
glob.glob('[abcd]*')      #查找以其中任意字符开头的文件或者文件夹
glob.glob('[!abcd]*')     #同上,取反

三:文件的操作

os.path 模块主要用于文件的属性获取,在编程中经常用到

1,获取路径和文件名

import os
print(os.path.dirname('C:\\Users\\Administrator\\Desktop')) #C:\Users\Administrator
返回path参数中路径名称字符串
print(os.path.basename('C:\\Users\\Administrator\\Desktop'))      #Desktop
返回path参数中的文件名
print(os.path.split('C:\\Users\\Administrator\\Desktop'))        #('C:\\Users\\Administrator', 'Desktop')
返回参数的路径名称和文件名 组成的字符串元祖
print('C:\\Users\\Administrator\\Desktop'.split(os.path.sep))      #['C:', 'Users', 'Administrator', 'Desktop']
如想得到路径中每个文件夹的名字,可以使用上面的方法

2,检查路径的有效性

import os
path = 'C:\\Users\\Administrator\\Desktop\\01'
os.path.exists(path) #判断参数中文件或文件夹是否存在
os.path.isfile(path)       #判断参数中该文件是否存在
os.path.isdir(path)        #判断参数中该文件夹是否存在

注:以上结果存在 返回True ,否则 False

3,查看文件的大小

#例子:统计该文件夹下所有文件的大小
import os
path = 'C:\\Users\\Administrator\\Desktop\\01'
totalsize = 0
for i in os.listdir(path):
totalsize += os.path.getsize(i)
print(totalsize) 返回结果单位为byte(字节)

4,重命名文件

import os
os.rename('C:\\Users\\Administrator\\Desktop\\01\\01.txt','C:\\Users\\Administrator\\Desktop\\01\\02.txt')

5,复制文件和文件名

shutil模块中的函数,可以帮助我们复制,移动,改名,和删除文件夹,可以实现文件的备份

import shutil
shutil.copy('C:\\Users\\Administrator\\Desktop\\01\\02.txt','C:\\Users\\Administrator\\Desktop\\01\\03.txt')
上面这个方法可以复制文件
shutil.copytree()  这个方法可以递归复制文件夹

6,文件和文件夹的移动和改名

import shutil
shutil.move('C:\\Users\\Administrator\\Desktop\\01\\02.txt','C:\\Users\\Administrator\\Desktop') 单移动
import shutil
shutil.move('C:\\Users\\Administrator\\Desktop\\01\\02.txt','C:\\Users\\Administrator\\Desktop\\03.txt') #移动+改名

注:如果最终移动目录存在重名的文件,则直接覆盖(需谨慎)

7,删除文件和文件夹

os模块和shutil模块都有函数可以删除 文件和 文件夹

os.remove(path)/os.unlink(path) :删除path指定的文件或 文件夹

import os
os.remove('C:\\Users\\Administrator\\Desktop\\02.txt')

解析: os.rmdir(path) 只能删除空文件夹,shutil.rmtree(path)  可以删除整个文件夹,包含所有子文件(需谨慎)

python 中文件夹的操作的更多相关文章

  1. python 关于文件夹的操作

    在python中,文件夹的操作主要是利用os模块来实现的, 其中关于文件夹的方法为:os.lister() , os.path.join() , os.path.isdir() #  path 表示文 ...

  2. python中文件的基础操作

    打开文件的三种方式: open(r'E:\学习日记\python\code\文件的简单操作.py') open('E:\\学习日记\\python\\code\\文件的简单操作.py') open(' ...

  3. Python中文件路径名的操作

    1 文件路径名操作 对于文件路径名的操作在编程中是必不可少的,比如说,有时候要列举一个路径下的文件,那么首先就要获取一个路径,再就是路径名的一个拼接问题,通过字符串的拼接就可以得到一个路径名.Pyth ...

  4. 『无为则无心』Python基础 — 41、Python中文件的读写操作(一)

    目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕 ...

  5. Python中文件的读写操作的几种方法

    对文件的操作,步骤为:打开一个文件-->读取/写入内容-->保存文件 文件读写的3中模式 # 1.w 写模式,它是不能读的,如果用w模式打开一个已经存在的文件,会清空以前的文件内容,重新写 ...

  6. Python中文件的读写操作

    文件操作基本流程: 1. 介绍 计算机系统是由计算机硬件,操作系统,和应用程序三部分组成. 内存 存放不持久 硬盘 可以使数据持久化 文件操作  数据持久化的一种 全栈开发  框架类 2. 文件的操作 ...

  7. 『无为则无心』Python基础 — 42、Python中文件的读写操作(二)

    目录 (5)文件对象方法(重点) 1)写方法 2)读方法 3)seek()方法 4)tell()方法 (6)关闭 (7)综合练习:读取大文件 (5)文件对象方法(重点) 1)写方法 @1.语法 对象对 ...

  8. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  9. [转]python中对文件、文件夹的操作——os模块和shutil模块常用说明

    转至:http://l90z11.blog.163.com/blog/static/187389042201312153318389/ python中对文件.文件夹的操作需要涉及到os模块和shuti ...

随机推荐

  1. Python多线程-队列

    队列就是存东西取东西,多用于多线程中 按照顺序 对传入的数据按规定的顺序输出 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" ...

  2. HDFS案例

    shell日志采集 需求说明 点击流日志每天都10T,在业务应用服务器上,需要准实时上传至数据仓库(Hadoop HDFS)上 需求分析 一般上传文件都是在凌晨24点操作,由于很多种类的业务数据都要在 ...

  3. leetcode824

    class Solution { public: void SplitString(const string& s, vector<string>& v, const st ...

  4. Objective-C入门&nbsp;简介Cocoa框架

    Cocoa Framework简称Cocoa,它是Mac OS X上的快速应用程序开发(RAD, Rapid Application Development)框架,一个高度面向对象的(Object O ...

  5. 12个有趣的c语言面试题&nbsp;

    1.gets()函数 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets ...

  6. Entitlements

    [Entitlements] Entitlements confer specific capabilities or security permissions to your iOS or OS X ...

  7. 刷题向》DP》值得一做》关于对DP问题的充分考虑(normal)

    在你辛苦调试一道DP题,遇到瓶颈的时候,你是否感到一股洪荒之力遏制住你的思想,使你给题库贡献了一倍的WA.RE.TLE量,却没有AC过一次? 在这时,你应该考虑的是砸电脑再次重新考虑整个题目,再应对自 ...

  8. 2014蓝桥杯B组初赛试题《六角填数》

    题目描述: 如图[1.png]所示六角形中,填入1~12的数字.     使得每条直线上的数字之和都相同.     图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 请通过浏览器提交 ...

  9. 如何从Win7上卸载Sql 2008 R2 Express,再重装

    这两天,因工作需要,需要在一台新的机器上,Win7 64位英文操作系统上,安装Sql Server 2008 R2 Express,安装的过程中出现些问题,在查找问题的过程中,考虑重装 Sql Ser ...

  10. Hibernate和Mybatis区别 详细 有用

    1.开发上手难度 hibernate的真正掌握(封装的功能和特性非常多)要比Mybatis来得难. 在真正产品级应用上要用Hibernate,不仅对开发人员的要求高,hibernate往往还不适合(多 ...