1.创建目录
*os.makedirs()*可以递归的方式创建目录
import os
os.makedirs('text/python',exist_ok=True)
这个代码是在当前工作目录下创建一个text目录,在text目录下再创建一个python目录
后面一个参数exist_ok=True是当目录存在时也不报错
2.删除文件
*os.remove()*可以删除一个文件
import os
os.remove('text/python/text.py')
3.删除目录
*os.rmdir()*可以删除一个空目录
shutil.rmtree() 可以递归删除一个目录,可以不为空
import shutil
import os
os.rmdir('tmp/python')
shutil.rmtree('tmp')
4.拷贝文件和目录
shutil库中包含拷贝函数
*shutil.copyfile()*用于拷贝文件
*shutil.copytree()*用于拷贝目录
from shutil import copyfile
copyfile('d:/text/first.py', 'e:/second.py')
拷贝 :d:/text/first.py 到e:/second.py
from shutil import copytree
copytree('d:/tools/aaa', 'e:/new/bbb')
拷贝 d:/tools/aaa 目录中所有的内容 到 e:/new/bbb 中
如果bbb文件夹存在则会报错
如果new文件夹不存在,则会创建一个new文件夹后在new文件夹中拷贝bbb目录
5.重命名
*os.rename()*可以对文件和文件夹进行重命名
import os
os.rename('321','3211')
os.rename('text1.txt','text2.txt')
将该工作目录下的321文件夹的名称命名为3211
将该工作目录下的text1.txt命名为text2.text
6.对文件路径的操作
*os.path.basename()*可以获取文件名称
*os.path.dirname()*可以获取从根目录到子目录的路径
*os.path.join()*可以讲传递的参数连接成一个新的路径
import os
path = r'F:\text\date.text'
filename = os.path.basename(path)
dirname = os.path.dirname(path)
print(filename)
print(dirname)
holename = os.path.join(dirname,filename)
print(holename)
输出结果如下:
date.text
F:\text
F:\text\date.text
7.判断文件和目录是否存在
os.path.exists()可以判断文件和目录是否存在
import os
path = r'F:\text\date.txt'
print(os.path.exists(path)) # -->True
print(os.path.exists("F:/text1"))# -->False
8.文件大小和修改时间
*os.path.getsize()*获取文件大小
*os.path.getmtime()*获取文件最后修改时间
import os
import time
path = r'F:\text\date.txt'
print(os.path.getsize(path)) # -->16
print(time.ctime(os.path.getmtime(path))) # -->Sat May 29 10:39:22 2021
这里引用time库将按秒计算的时间转换成asctime可读时间
文件大小是字节数
9.当前工作目录
*os.listdir()*获取目录列表
*os.getcwd()*获取当前工作目录
*os.chdir()*更改当前工作目录
import os
os.makedirs('F:/text/python')
print(os.listdir('F:/text')# -->python
print(os.getcwd())# -->C:\Users\Desktop
os.chdir('F:/text')
print(os.getcwd())# -->F:\text
10.访问文件夹中的所有元素
os.walk()递归访问路径上的所有元素
import os
files=[]
dirs=[]
path = 'F:/'
for (dirpath,dirnames,filenames) in os.walk(path):
files +=filenames
dirs +=dirnames
print(files)
print(dirs)
访问方式是文件 路径->文件夹->文件
输出所有文件的路径
import os
path = 'F:/'
for (dirpath,dirnames,filenames) in os.walk(path):
for fn in filenames:
zipath = os.path.join(dirpath,fn)
print(zipath)
11.对文件进行操作
1.载入文件(包括读、写)
fil = open("text.txt","w) #以写的方式载入文件
print(fil.name) #文件的名称
print(fil.mode) #文件的打开方式
fil.write("hello python!") #以写的方式打开,就可以对文件进行写入的操作
fil.close() #将文件关闭的操作
*open(filename,mode,encodeing)*可以传入3个参数,分别是文件名,打开方式,编码格式,最后一个在py3中默认是utf-8
*.write()*想文件中写入
*.close()*将文件关闭