python os 模块 和 os.path 模块

本文详细介绍了Python中os模块及其子模块os.path的基本操作,包括获取/设置工作路径、创建/删除文件夹、文件重命名、获取文件信息、目录遍历以及处理文件路径。
摘要由CSDN通过智能技术生成

os 是 operating system 的缩写

1.0 模块的导入

import os
from os import path

1.1 模块的导入

import os导入模块, 而不使用from os import * 。这将避免内建的 open() 函数被 os.open() 隐式替换掉,因为它们的使用方式大不相同。

1.2 操作

  • os.getcwd()获取当前工作路径
  • os.chdir() 切换工作路径
  • os.mkdir() 在当前工作目录下创建一个新的文件价夹,不能创建多级的文件夹
  • os.makedirs() 创建多级目录
  • os.rmdir() 删除空文件夹,
  • os.removedirs() 递归删除目录,从后往前递归删除。
  • os.remove() 删除文件,而不是文件夹
  • os.listdir() 将当前路径下所有的目录及文件 生成一个列表,当然也可以指定路径。
  • os.chdir("路径名称") 改变当前的工作路径
  • os.walk("某个文件夹") 作用在于遍历目录树,返回列表,深度优先遍历,它可以返回三个东西,此时的路径、当前目录中的文件夹、当前目录下的文件。常常和for 循环联系起来。
  
for dirs,dirlist,filelist in os.walk("d:/code/c_plus"):  
    print(dirs)  
    print(dirlist)  
    print(filelist)  
    print("--------")

  • os.rename("adress(文件地址)","adress(文件地址2)") 修改文件名称,也能更改文件地址。
    os.rename("../../attachments/text.txt","../../attachments/test.txt")
    文件位置不动,简单的改一下名字
    os.rename("../../attachments/text.txt","test.txt")
    文件位置修改成当前文件夹,同时修改名称。
  • os.stat("path") 获取文件信息,但是文件信息是很多的,开始时间、最后一次修改、大小等 常常和time模块搭配python time 模块
    def date_format(longtime):  
        s = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(longtime)) 
        return s  
    info = os.stat("../../attachments/test.txt")  
    print(type(info))  
    print(info)  
    print("最近访问时间",date_format(info.st_atime))  
    print("创建时间",date_format(info.st_ctime))  
    print("修改时间",date_format(info.st_mtime))  
    print("文件大小",info.st_size)
    
  • os.startfile("path") 启动路径下的文件,注意:windows 磁盘目录的写法是c:\user\yangzuhao, 编译器很肯能认为里面有着转义字符,所以写文件路径该这样写 c:\\user\\yangzuhao 其实python 中也可以这样r"c:\user\yangzuhao" 前面加r, 让所有的转义字符失效.

1.3 os.path 即os模块的子模块

  • abspath(path) 获取目录或文件的绝对路径,所以不一定是文件.
  • exits(path) 判断文件是否存在
  • join(path,name) 将目录与目录名或文件名进行拼接,类似于字符串的“+”操作。print("拼接路径",path.join("D:\\code\\code_for_python\\module_os","day2.txt"))
  • splitext() 分别获取文件名 和 后缀名 print(path.splitext("day2.txt"))
  • splitext 分割文件名和文件后缀名, 结果是元组
  • basename() 提起文件名 os.path.basename(r"D:\code\code_for_python\module_os\day2.txt") day2.txt
  • dirname() 提取文件所在路径 dirname(r"D:\code\code_for_python\module_os\day2.txt") 结果D:\code\code_for_python\module_os
  • isdir(path) 判断者路径是否存在
  • isfile(path) 判断路径是否有效文件
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值