python 中文件夹的操作

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

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

一:文件夹操作

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,修改当前目录

扫描二维码关注公众号,回复: 4240917 查看本文章
import os
os.chdir('C:\\Users\\Administrator')
print(os.listdir('.'))

注:“ .”代表当前路径

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

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

1 import glob
2 glob.glob('2*')              #查找以2开头的文件或者文件夹
3 glob.glob('d????')       #查找以d开头的并且全长为5个字符的文件或者文件夹
4 glob.glob('[abcd]*')      #查找以其中任意字符开头的文件或者文件夹
5 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)  可以删除整个文件夹,包含所有子文件(需谨慎)

猜你喜欢

转载自www.cnblogs.com/lvye001/p/10019718.html
今日推荐