python对文件的其他相关操作——os模块(创建删除目录、文件、获取路径)

359 阅读5分钟

目录

 

1.重命名文件---os.rename()

2.删除文件---os.remove()

3.创建目录---os.mkdir

4.创建多级目录---os.makedirs()

5.删除目录---os.rmdir()

6.删除多级目录---os.removedirs()

7.获取当前所在目录---os.getcwd()

8.获取目录列表---os.listdir()

9.切换所在目录 ---os.chdir()

10.判断文件或文件夹是否存在---os.path.exists()

11.判断是否为文件---os.path.isfile()

12.判断是否为目录---os.path.isdir()

13.获取绝对路径---os.path.abspath()

14.判断是否为绝对路径---os.path.isabs()

15.获取路径中的最后部分---os.path.basename()

16.获取路径中的路径部分---os.payh.dirname()

17.将多个目录组织成路径返回---os.path.join()

18.获取文件信息


1.重命名文件---os.rename()

import os
# 第一个参数是原文件名,第二个是新名字
os.rename('file/good.txt', 'file/book.txt')

结果: good.txt 文件名改成 book.txt 

2.删除文件---os.remove()

import os
os.remove('file/book.txt')
# os.remove('111') # 尝试删除目录 PermissionError: [WinError 5] 拒绝访问。: '111'

结果: book.txt被删除

注意:只能删除文件,不能删除目录

3.创建目录---os.mkdir

import os
os.mkdir('lll')
os.mkdir('file/222')

结果:在当前目录下创建111目录,file为当前目录下目录,所以可以创建222目录

4.创建多级目录---os.makedirs()

import os
os.makedirs('111/222/333')
os.makedirs('111/222/333',exist_ok=True) # 存在 不创建

结果:创建了111目录、111目录下的222目录、222目录下的333目录 (目录已存在不会报错)

5.删除目录---os.rmdir()

import os
os.rmdir('file/222')

结果:将file目录下的222目录删除 (只能删除空目录)

注意:只能删除空目录 

6.删除多级目录---os.removedirs()

import os
os.removedirs() # 删除多层目录
os.makedirs('111/222/333/444')
os.removedirs('111/222/333/444')

结果:创建多层目录后,全部被删除 

若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推。

如果上一层目录不为空则停止删除文件。如果444不为空则报错。

7.获取当前所在目录---os.getcwd()

import os
ret = os.getcwd()
print(ret)  # D:\pycharm工作空间\day13

8.获取目录列表---os.listdir()

import os
lst = os.listdir(os.getcwd())
print(lst)
# ['.idea', 'file', 'lll', '乱码.py', '其他操作.py', '写操作.py', '文件其他操作.py', '文件权限.py', '综合案例-小说阅读器.py', '综合练习-文件操作系统.py', '读操作.py']

9.切换所在目录 ---os.chdir()

import os
os.chdir(os.getcwd()+'/111/222/333')
print(os.getcwd()) # D:\\pycharm工作空间\\day13/111/222/333

10.判断文件或文件夹是否存在---os.path.exists()

import os
s = os.path.exists('111/222/333')
print(s) # True

11.判断是否为文件---os.path.isfile()

111是个目录

import os
ret = os.path.isfile('111')
print(ret) # False

12.判断是否为目录---os.path.isdir()

111是个目录

import os
ret = os.path.isdir('111')
print(ret) # True

13.获取绝对路径---os.path.abspath()

import os
ret = os.path.abspath('file')
print(ret) # D:\pycharm工作空间\day13\file

14.判断是否为绝对路径---os.path.isabs()

import os
ret = os.path.isabs('file')
ret = os.path.isabs(os.path.abspath('file'))
print(ret) # True

15.获取路径中的最后部分---os.path.basename()

import os
ret = os.path.basename('111/222/333/宿舍.py')
print(ret) # 宿舍.py

16.获取路径中的路径部分---os.payh.dirname()

获取父目录部分(不管是文件还是文件夹)

import os
ret = os.path.dirname(os.getcwd())  # dirname 上层目录
print(ret) # 111/222/333

17.将多个目录组织成路径返回---os.path.join()

import os
ret = os.path.join('aa','bb','cc')
print(ret) # aa/bb/cc

18.获取文件信息

1.getatime()返回path所指向的文件或者目录的最后访问时间

import os
import time
# 最后访问时间
ret = os.path.getatime('file')
ret1 = time.strftime('%Y-%m-%d %X',time.gmtime(ret))
print(ret1) # 2019-01-10 12:26:55

2.getctime()查看文件创建时间,返回时间戳

import os

ret = os.path.getctime('file')
print(ret) # 1547083672.8399353

3.getmtime()返回path所指向的文件或者目录的最后修改时间

import os
ret = os.path.getmtime('file')
print(ret) # 1547123215.5290873

4.getsize()查看文件的大小

import os
ret = os.path.getsize('file/node.txt')
print(ret) # 12