一:学习内容

  • 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. Linux shellcode sample

    Linux shellcode sample HelloWorld.nasm ;HelloWorld.asm ;Author: Kul Subedi global _start section .te ...

  2. 埋在 MYSQL 数据库应用中的17个关键问题!

    Mysql的使用非常普遍,跟mysql有关的话题也非常多,如性能优化.高可用性.强一致性.安全.备份.集群.横向扩展.纵向扩展.负载均衡.读写分离等.要想掌握其中的精髓,可得花费不少功力,虽然目前流行 ...

  3. springboot的一些注解

    springboot注解以及一些晦涩难理解的点介绍 @Validated 用于注入数值校验的注解(JSR303数据校验) @PropertySource 用于加载指定的配置文件,例如@Property ...

  4. 07 Python爬虫验证码处理

    大部分门户网站在进行登录的时候,如果用户连续登录的次数超过3次或者5次的时候,就会在登录页中动态生成验证码.通过验证码达到分流和反爬的效果. 一. 云打码平台处理验证码的流程: 1.对携带验证码的页面 ...

  5. ArcEngine介绍

    一.ArcEngine简介ArcEngine被定位为一个嵌入式的产品,它并非面向最终用户,而是一个面向开发者的产品.对于繁冗的GIS开发工作而言,理想的解决方案是一个基于组件的实用的开发框架,且该框架 ...

  6. nginx搭建及加固

    系统使用的是centos7 Nginx安装及配置 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务 安装 我是用的环境是ce ...

  7. 关于LRU算法(转载)

      原文地址: http://flychao88.iteye.com/blog/1977653 http://blog.csdn.net/cjfeii/article/details/47259519 ...

  8. 多线程(三) 同步synchronized

    五.同步 1.锁 多线程程序一般是为了完成一些相同的工作而存在的,因此有时间也会共享一些资源,例如对象.变量等等,此时如果不对各个线程进行资源协调,就会出现一些冲突,从而导致程序功能失效.例如下面的示 ...

  9. /usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependency

    原因:python库中urllib3 (1.22) or chardet (2.2.1) 的版本不兼容 解决如下: [ [root@aaaaaaaaaaaaaaaaaaaa~]# pip uninst ...

  10. loj2589 「NOIP2009」Hankson 的趣味题

    对于质因数分解理解还不到位. 此题可知$lcm$是$x$的倍数,$x$是$lcm$的约数,只要在$lcm$的分解质因数里对每一个质因子讨论种数即可. 具体来说,对于$lcm$的一个质因子$p$,讨论$ ...