一:学习内容

  • os模块
  • ospath模块
  • 获取指定目录下所有文件和目录

二:os模块

包含了普遍的操作系统功能,需要导入该模块:import os

当前所在位置目录结构为:

  • 目录操作

1.获取当前目录-相对路径
print(os.curdir)

2.获取当前工作目录,即当前py脚本所在目录-绝对路径
print(os.getcwd())

3.以列表的形式返回指定目录下的所有的文件(包括目录),只拿到最上层

print(os.listdir(r"F:\python\test02"))

4.在当前目录下创建新目录,支持相对路径和绝对路径

os.mkdir("test002")

5.在当前目录下删除目录
os.rmdir("test002")  #没有文件删除会报错

  • 文件操作

1.获取文件属性
print(os.stat("test02.txt"))

2.重命名文件
os.rename("test02.txt","python_test.txt")

3.删除普通文件

os.remove("python_test.txt")

三:ospath模块

包含了普遍的操作系统功能,需要导入该模块:import os

当前所在位置目录结构为:

1.查看当前的绝对路径
print(os.path.abspath("."))
print(os.path.abspath("./test002"))

2.拼接路径
p1 = r"F:\python\test02"
p2 = "python_test.txt"
#注意:参数2开始的地方不要有斜杠,即python_test.txt的p前面不要有斜杠
print(os.path.join(p1,p2))

3.拆分路径
p5 = r"F:\python\test02"
#把最后的路径单独拆成一个
print(os.path.split(p5))

4.获取扩展名 .txt
p6 = r"F:\python\test02\python02.py"
print(os.path.splitext(p6))

5.判断是否是目录,目录需要真实存在
p7 = r"F:\python\test"
print(os.path.isdir(p7))

6.判断是否是文件,文件需要真实存在
p8 = r"F:\python\test02\python02.py"
print(os.path.isfile(p8))

7.判断路径(目录或文件)是否存在
p9 = r"F:\python\test02"
print(os.path.exists(p9))

p9 = r"F:\python\test02\python02.py"
print(os.path.exists(p9))

8.获取文件大小,按字节数统计,一个汉字2个字节
p10 = r"F:\python\test02\python_test.txt"
print(os.path.getsize(p10))

9.获取文件目录
p11 = r"F:\python\test02\python_test.txt"
print(os.path.dirname(p11))

10.获取文件名
p12 = r"F:\python\test02\python_test.txt"
print(os.path.basename(p12))

四:获取指定目录下所有文件和目录

包含了普遍的操作系统功能,需要导入该模块:import os

当前所在位置目录结构为:

代码如下:

import os

def getAllDir(path,sp=""):
    #处理当前目录下所有文件
    dirList = os.listdir(path)
    sp += "  "
    #处理每个文件
    for fileName in dirList:
        fileAbsPath = os.path.join(path,fileName)
        if os.path.isdir(fileAbsPath):
            print(sp + "目录为:", fileName)
            getAllDir(fileAbsPath,sp)
        else:
            print(sp + "文件为:",fileName)

path = r"F:\python"
getAllDir(path)

运行结果为:

python3笔记十九:os和ospath模块的更多相关文章

  1. python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法

    python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...

  2. (C/C++学习笔记) 十九. 模板

    十九. 模板 ● 模板的基本概念 模板(template) 函数模板:可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计. 语法: template <<模 ...

  3. OpenCV学习笔记十九:opencv_gpu*模块

    一,简介: 基于GPU加速的opencv算法库.

  4. 四十九 常用内建模块 urllib

    urllib提供了一系列用于操作URL的功能. Get urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应: 例如,对豆瓣的一个 ...

  5. python3笔记十四:python可变与不可变数据类型+深浅拷贝

    一:学习内容 python3中六种数据类型 python赋值 python浅拷贝 python深拷贝 二:python3六种数据类型 1.六种数据类型 Number(数字) string(字符串) L ...

  6. python 学习笔记十九 django深入学习四 cookie,session

    缓存 一个动态网站的基本权衡点就是,它是动态的. 每次用户请求一个页面,Web服务器将进行所有涵盖数据库查询到模版渲染到业务逻辑的请求,用来创建浏览者需要的页面.当程序访问量大时,耗时必然会更加明显, ...

  7. swift 笔记 (十九) —— 协议

    协议(Protocols) 协议仅是用定义某些任务或者是功能必须的方法和属性. 类似于java里的interface的作用.但协议并不会实现详细的功能. 我猜这个名字源于OO中提到的"契约& ...

  8. JSTL 标签库 使用(web基础学习笔记十九)

    标签库概要: 一.C标签库介绍 1.1.<c:> 核心标签库  JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:1.表达式控制标签:out.set.remove.catch2 ...

  9. angular学习笔记(十九)-指令修改dom

    本篇主要介绍angular使用指令修改DOM: 使用angular指令可以自己扩展html语法,还可以做很多自定义的事情.在后面会专门讲解这一块的知识,这一篇只是起到了解入门的作用. 与控制器,过滤器 ...

随机推荐

  1. EJS学习(三)之语法规则中

    ⚠️实例均结合node,也就是AMD规范版本 ejs中使用render()表示渲染文本 接收三个参数:模版字符串.data.options,返回一个字符串 const ejs = require('e ...

  2. Spark运行时的内核架构以及架构思考

    一: Spark内核架构 1,Drive是运行程序的时候有main方法,并且会创建SparkContext对象,是程序运行调度的中心,向Master注册程序,然后Master分配资源. 应用程序: A ...

  3. hiper、sitespeed性能工具

    https://github.com/pod4g/hiper   hiper:   A statistical analysis tool for performance testing https: ...

  4. Nginx的快速安装

    1. 准备工作 1. CenterOS7.x.vmware虚拟机,安装过程参考 https://jingyan.baidu.com/article/eae0782787b4c01fec548535.h ...

  5. 第十篇.1、python并发编程之多进程理论部分

    一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任 ...

  6. elastic 查询

    1.match 查询 GET /_index/_search { "query": { "match": { " } } } 1.match 多条件查 ...

  7. NB-IOT双工模式

    半双工(Half Duplex)数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输.例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据, ...

  8. 最长回文子串(动规,中心扩散法,Manacher算法)

    题目 leetcode:5. Longest Palindromic Substring 解法 动态规划 时间复杂度\(O(n^2)\),空间复杂度\(O(n^2)\) 基本解法直接看代码 class ...

  9. Tableau Sheet中的操作

    如果想要给数据排名,例如给饼图中的数据排名 1 创建一个Rank 描述为INDEX()的测度 2.将RANK用Label形式显示并且编辑计算方法选择特定的属性. 属性本身也有可以快速计算的一些方式. ...

  10. 介绍知道的http返回的状态码

    100    Continue    继续.客户端应继续其请求 101    Switching Protocols    切换协议.服务器根据客户端的请求切换协议.只能切换到更高级的协议,例如,切换 ...