zoukankan      html  css  js  c++  java
  • os模块

    os模块是和系统进行交互的模块

    文件夹操作

    文件夹的创建

    生成多层文件夹

    makedirs()

    os.makedirs('dir1/dir2')

    生成一层文件夹

    mkdir(),当父文件夹存在时,可以在父文件创建zi文件夹,需注意的是依然是只创建一个文件夹,当在没有此文件名的父文件中创建子文件夹时会报错

    os.mkdir('dir3/dir4')
    运行结果:
    报错
    
    os.mkdir('dir3')
    os.mkdir('dir3/dir4')
    运行结果:
    创建相应文件夹

    删除文件夹

    需要注意的是无论哪种删除文件夹的操作都只会删除空文件夹,含有文件的文件夹不会被删除

    删除多层文件夹

    removedirs()当不存在要删除的文件夹名时会报错

    os.removedirs('dir3/dir4')

    删除一层文件夹

    rmdir()当不存在要删除的文件夹名时会报错

    os.rmdir('dir3/dir4')

    文件的操作

    listdir()列出指定目录下的所有文件及子目录,包括隐藏文件,以列表形式打印

    print(os.listdir("E:python-fileAugust_new8-20day18"))
    运行结果:
    ['1.内容回顾.py', '2.本周安排和今日内容.py', '3.random模块.py', '4.时间模块.py', '5.sys模块.py', '6.os模块.py', 'dir1', '__init__.py']

    os.remove()删除一个文件

    os.rename("oldname","newname")重命名文件

    os.stat()过去文件/目录信息

    print(os.stat("E:python-fileAugust_new8-20day18"))
    print(os.stat("E:python-fileAugust_new8-20姚佳琦.py"))
    运行结果:
    os.stat_result(st_mode=16895, st_ino=7318349394508752, st_dev=3235112279, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1534766481, st_mtime=1534766481, st_ctime=1534748366)
    os.stat_result(st_mode=33206, st_ino=10133099161615310, st_dev=3235112279, st_nlink=1, st_uid=0, st_gid=0, st_size=3059, st_atime=1534764269, st_mtime=1534764269, st_ctime=1534751574)

    统计文件的大小

    os.path.getsize('路径') # python的命令
    dir 路径 C   # 操作系统的命令

    显示当前路径下的所有文件和文件夹

    os.system('dir 路径')  # 使用python语言直接执行操作系统的命令
    os.listdir('路径')     # 使用python语言的os模块提供的方法 间接调用了操作系统命令

    os.system("bash command")直行系统的命令没有返回值

    os.system('执行字符串数据类型的操作系统命令')

    os.popen("bash command").read()直行命令获取结果

    os.popen('执行字符串数据类型的操作系统命令,并返回结果')

    os.getcwd()获取当前的工作目录,也就是当前python脚本工作的目录路径

    获取当前执行命令的时候所在的目录

    os.chdir("dirname")改变当前脚本的工作目录

    修改当前执行命令的时候所在的目录

    目录拼接,适合所有操作系统

    file_lst = os.listdir('E:python-fileAugust_new8-20day18')
    for path in file_lst:
        print(os.path.join('E:python-fileAugust_new8-20day18', path))
    运行结果:
    E:python-fileAugust_newScriptspython.exe E:/python-file/August_new/8-20/day18/6.os模块.py
    E:python-fileAugust_new8-20day181.内容回顾.py
    E:python-fileAugust_new8-20day182.本周安排和今日内容.py
    E:python-fileAugust_new8-20day183.random模块.py
    E:python-fileAugust_new8-20day184.时间模块.py

    os.path

    os.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回 
    os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 
    os.path.basename(path) 返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
    os.path.isabs(path)  如果path是绝对路径,返回True
    os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
    os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
    os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    os.path.getatime(path)  返回path所指向的文件或者目录的最后访问时间
    os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
    os.path.getsize(path) 返回path的大小

    os模块总结

    os模块:
        定制了很多方法 间接的帮助你去调用操作系统的命令 获得结果
        然后帮助你分析整理成我们需要的数据类型的形态
    同时也可以os.popen/os.system直接取调用操作系统的命令 获得结果
        但是 分析和整理的工作需要你自己做
    用os模块的方法本身能够完成的功能我们就用定制好的方法就够了
    如果有一天 你发现os模块定制好的功能解决不了我们的问题了
        而刚好操作系统的命令能够很好地帮助我们解决问题
        这个时候就用os.popen/os.system
  • 相关阅读:
    紫外传感器波长
    常见设备功耗
    点型感温火灾探测器研发思路
    C#使用Linq to XML进行XPath查询
    题解 最大获利
    题解 走迷宫
    2020-11-16 考试题解
    题解 最小生成树
    题解 「BZOJ4919 Lydsy1706月赛」大根堆
    题解 2020.10.24 考试 T4 模板
  • 原文地址:https://www.cnblogs.com/jiaqi-666/p/9507809.html
Copyright © 2011-2022 走看看