一:学习内容

  • 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. nginx(五)- linux下安装nginx与配置

    linux系统为Centos 64位 准备目录 [root@instance-3lm099to ~]# mkdir /usr/local/nginx [root@instance-3lm099to ~ ...

  2. JavaScript冒泡排序法实现排序操作

    var arr = [10,8,6,9,1,7,1,13,5,1,9]; //冒泡排序 function bubbleSort(tmpArr){ for(var i = tmpArr.length-1 ...

  3. 谷歌浏览器(Chrome)离线包的下载方法!

    谷歌浏览器(Chrome)其实可以下载离线包,用离线包安装的好处,就是一次获得全部安装文件,不需要漫长的在线下载过程了! 下载地址:https://www.google.com/chrome/eula ...

  4. idea逆向生成hibernate工程

    1.创建maven工程 2.在resources下创建hibernate.cfg.xml文件 <?xml version='1.0' encoding='utf-8'?> <!DOC ...

  5. 20、Nginx高可用架构

    1.Keepalived高可用基本概述 1.1.什么是高可用 一般是指2台机器启动着相同的业务系统,当有一台机器down机了, 另外一台服务器能快速的接管, 对于访问的用户是无感知的. 1.2.高可用 ...

  6. 2019.9.20使用kali中的metasploi获取windows 的权限

    1 kali 基于debin的数字取证系统,上面集成了很多渗透测试工具,其前身是bt5r3(bractrack) 其中Metasploit是一个综合利用工具,极大提高攻击者渗透效率,使用ruby开发的 ...

  7. dedecms织梦移站后替换数据库中文件路径命令

    1.系统设置路径替换 update dede_sysconfig set value='http://afish.cnblogs.com' where varname='cfg_basehost'; ...

  8. 【BZOJ4031】【Luogu P4111】[HEOI2015]小Z的房间

    裸的矩阵树定理.求行列式的时候答案要在中间统计,因为交换两个行会使答案取反. #include <bits/stdc++.h> using namespace std; const int ...

  9. 使用GitHub(三):使用VSCode+GitHub进行版本控制

    使用GitHub(三):使用VSCode+GitHub进行版本控制 本文简单介绍使用VSCode+GitHub进行项目或者代码的版本控制.本文主要目的是对学习内容进行总结以及方便日后查阅. 详细教程和 ...

  10. js - 执行上下文和作用域以及闭包

    首先,咱们通常被"执行上下文","执行上下文环境","上下文环境","执行上下文栈"这些名词搞混.那我们一一来揭秘这些名 ...