• 10.python内置模块之os模块


    os模块的作用:os 模块提供了非常丰富的方法用来处理文件和目录(管理和维护目录以及文件)。

    os.path模块的作用:主要用于获取文件的属性(管理路径的(物理地址))。

    小生总结了一些平时常用到的属性和函数。

    属性:

    1.name:返回当前正在使用的操作系统的内核版本;windows系统环境下 -->输出 nt

    2.environ:返回当前操作系统中所有的环境变量以及其内容,以键值对的形式进行存储管理(存入到environ中)

    3.environ.get('环境变量名'):获取某一个环境变量的内容,以字符串的形式返回

    1 print(os.name)
    2 
    3 print(os.environ)
    4 
    5 print(os.environ.get('path'))

    路径问题(概念):

    绝对路径:称为完成路径;一串物理地址(字符串类型),特点:带盘符。

    相对路径:相对的概念,拿某一个位置作为参照物,得到相关的路径,理解为相对路径;区分:不带盘符 函数。

    函数:

    1.getcwd():返回当前正在被执行的文件的绝对路径(描述一串字符串格式的物理地址)

    2.listdir(;path):将path路径下的子目录名和文件名以字符串类型保存到列表中返回   【注意】不包含间接子内容

    创建目录:

    3.mkdir(path):创建单层目录,不能级联创建目录

    4.makedirs(path):创建多级目录,也可以创建单层目录

    [注意】如果路径下已经存在相同名字的目录,继续点击创建,会报错:FileExistsError。对于mkdir()而言:只能一次创建一层目录,不能批量(级联)创建目录;会报错:FileNotFoundError

    删除目录:

    5.rmdir(path):删除单层目录,不能级联删除目录

    6.removedirs(path):删除多层目录,也可以删除单层

    删除文件:

    7.remove(path):删除文件

    8.rename(src,dest):重命名目录或者文件

    【注意】:删除操作有风险,使用需谨慎!!!因为不走回收站...

     1 print(os.getcwd())                        # 获取当前目录
     2  
     3 print(os.listdir(r'C:Usersadmin'))      # 列出当前目录下的子目录名和文件名
     4  
     5 os.mkdir(r'D:pythonprojecthello1')     # 创建目录
     6  
     7 os.mkdir(r'aa')                           # 创建目录aa
     8   
     9 os.mkdir(r'bbccdd')                     # 显示FileNotFoundError错误类型 ,不能级联创建目录
    10  
    11 os.makedirs(r'bbccdd')                  # 创建级联目录
    12   
    13 os.rmdir(r'D:pythonprojecthello1')     # 删除hello1目录
    14  
    15 os.rmdir(r'aa')                           # 删除aa目录
    16  
    17 os.rmdir(r'bbccddee')                  # 删除ee目录
    18  
    19 os.removedirs(r'bbccdd')                # 级联删bbccdd
    20  
    21 os.removedirs(r'D:pythonprojecthello') # 可删单层hello
    22  
    23 os.remove(r'abc.html')                    # 删除文件
    24 
    25 os.rename(r'aa.html',r'bb.html')          # 相对路径下,把文件名为aa.html改为bb.html
    26 
    27 os.rename(r'D:pythonproject
    ote.txt',r'D:pythonproject笔记.txt')   # 绝对路径下,把文件名note改为笔记

    os模块下的path模块的使用:

    1.join(first,second)将first和second两部分内容(字符串数据)拼接得到一个新的串(描述物理地址),(不关注路径是否真实存在)

    2.getsize(path)返回path路径(锁定到文件层面)所包含的字节量

    3.exists(path)判断path描述的物理路径是否真实存在;如果存在,返回True;反之,返回False

    4.isfile(path)判断path描述的物理路径是否是一个文件;如果存在,返回True;反之,返回False, (包含了exists的作用)

    5.isdir(path)判断path描述的物理路径是否是一个目录;如果存在,返回True;反之,返回False, (包含了exists的作用)

    6.dirname(path)返回path中最后一个前面的部分(串),最终以字符串的形式返回

    7.basename(path)返回path中最后一个后面的部分(串),最终以字符串的形式返回

    8.split(path)将path变量中最后一个前面的部分(串),放入到元祖的第一个元素位;将path变量中最后一个后面的部分(串),放入到元祖的第二个元素位;最终返回元祖对象

    9.splitext(path) 将path变量中最后一个.前面的部分(串),放入到元祖的第一个元素位;将path变量中最后一个.以及其后面的部分(串),放入到元祖的第二个元素位;最终返回元祖对象

    10.realpath(path): 返回path的真实路径

    11.abspath(path): 返回绝对路径

    【注意os.path.abspath()获取的不是真实路径,它的的作用是对给定文件名前加上当前工作目录的绝对路径,至于你给定的文件名对应文件是否真的存在并不关心(因为你有可能是想要创建文件)


    1
    import os
    2
    3 print(os.path.join(r'D:pythonproject','1.txt')) # 将目录和文件名合成一个路径 D:pythonproject1.txt 4 5 print(os.path.getsize(r'D:pythonproject123.png')) # 54 6 print(os.path.getsize(r'D:pythonproject')) # 24576 7 8 path = r'D:pythonproject ote.txt' 9 10 print(os.path.exists(path)) 11 print(os.path.isfile(path)) 12 print(os.path.isdir(path)) 13 14 str1 = os.path.dirname(path) 15 print(str1,type(str1)) # 返回目录路径 D:pythonproject <class 'str'> 16 17 str2 = os.path.basename(path) 18 print(str2,type(str2)) # 返回文件名 note.txt <class 'str'> 19 20 tp1 = os.path.split(path) 21 print(tp1,type(tp1)) # 分割文件名与路径 ('D:\python\project','note.txt') <class 'tuple'> 22 23 tp2 = os.path.splitext(path) 24 print(tp2,type(tp2)) # ('D:\python\project\note','.txt') <class 'tuple'>
    1 import os
    2  
    3 os.path.realpath("b/1.txt")    # '/root/a/1.txt'
    4 
    5 # 假设1.jpg的路径是D:images1.jpg, 其中D:code是我当前的工作目录
    6 file='1.jpg'
    7 print(os.path.abspath(file))   # 输出 D:codeimg1.jpg
  • 相关阅读:
    log4j 配置文件
    log4j安装与简介
    tomcat服务
    查看系统网络连接打开端口、系统进程、DOS打开文件
    find查找指定类型文件并删除
    git/github在windows上使用
    VIM配置自动提示功能
    VIM Taglist安装配置和使用
    python Scipy积分运算大全(integrate模块——一重、二重及三重积分)
    python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)
  • 原文地址:https://www.cnblogs.com/bonheur/p/12337383.html
Copyright © 2020-2023  润新知