os 模块 - 图1


os模块是与操作系统交互的一个接口

os.getcwd()

  1. import os
  2. print(os.getcwd()) # 获取当前工作目录,即当前python脚本工作的目录路径

os.chdir(“dirname”)

  1. import os
  2. os.chdir("文件夹路径") # 改变当前脚本工作目录;相当于shell下cd

os.curdir

  1. import os
  2. os.curdir # 返回当前目录: ('.')

os.pardir

  1. import os
  2. os.pardir # 获取当前目录的父目录字符串名:('..')

os.makedirs(‘dirname1/dirname2’)

  1. import os
  2. os.makedirs('文件夹路径/文件夹路径') # 可生成多层递归目录

os.removedirs(‘dirname1’)

  1. import os
  2. os.removedirs('dirname1') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.mkdir(‘dirname’)

  1. import os
  2. os.mkdir('dirname') # 生成单级目录;相当于shell中mkdir dirname

os.rmdir(‘dirname’)

  1. import os
  2. os.rmdir('dirname') # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.listdir(‘dirname’)

  1. import os
  2. # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
  3. print(os.listdir(r'F:\学习课件\python\pycharm'))
  4. # ['.idea', 'ATM', 'user.txt', '__pycache__', '作业.py', '本周内容', '测试.py']
  5. print(os.listdir(r'.')) # . 是当前文件夹的意思
  6. # ['.idea', 'ATM', 'user.txt', '__pycache__', '作业.py', '本周内容', '测试.py']

os.remove()

  1. import os
  2. os.remove() # 删除一个文件

os.rename(“oldname”,”newname”)

  1. import os
  2. os.rename("oldname","newname") # 重命名文件/目录

os.stat(‘path/filename’)

  1. import os
  2. os.stat('path/filename') # 获取文件/目录信息

os.sep

  1. import os
  2. os.sep # 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

os.linesep

  1. import os
  2. os.linesep # 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"

os.pathsep

  1. import os
  2. os.pathsep # 输出用于分割文件路径的字符串 win下为;,Linux下为:

os.name

  1. import os
  2. # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
  3. print(os.name)
  4. # nt

os.system(“bash command”)

  1. import os
  2. # 运行shell命令,直接显示
  3. print(os.system(r'dir C:')) # win
  4. # 相当于Linux的ls
  5. print(os.system('ls /')) # linux

os.environ

  1. import os
  2. os.environ # 获取系统环境变量
  3. os.environ['aaaa']='1111'
  4. print(os.environ) # 整个软件 整个环境用到值 可以添加

os.path.abspath(path)

  1. import os
  2. # 返回path规范化的绝对路径
  3. print(os.path.abspath(__file__)) # 根据平台显示 所对应的路径分隔符的形式
  4. # F:\学习课件\python\pycharm\测试.py
  5. print(__file__)
  6. # F:/学习课件/python/pycharm/测试.py

os.path.split(path)

  1. import os
  2. # 将path分割成目录和文件名二元组返回
  3. # 用于把文件路径里的文件单独切分出来,提供使用
  4. print(os.path.split(r'F:\学习课件\python\pycharm\测试.py'))
  5. # ('F:\\学习课件\\python\\pycharm', '测试.py')

os.path.dirname(path)

  1. import os
  2. # 返回path的目录。其实就是os.path.split(path)的第一个元素
  3. # 只返回文件的文件路径
  4. print(os.path.dirname(r'F:\学习课件\python\pycharm\测试.py'))
  5. # F:\学习课件\python\pycharm

os.path.basename(path)

  1. import os
  2. # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
  3. # 只返回文件的文件名
  4. print(os.path.basename(r'F:\学习课件\python\pycharm\测试.py'))
  5. # 测试.py

os.path.exists(path)

  1. import os
  2. # 如果path存在,返回True;如果path不存在,返回False
  3. print(os.path.exists(r'F:\学习课件\python\pycharm\测试.py'))
  4. # True

os.path.isabs(path)

  1. import os
  2. # 如果path是绝对路径,返回True
  3. print(os.path.isabs(r'F:\学习课件\python\pycharm\测试.py'))
  4. # True
  5. print(os.path.isabs(r'学习课件\python\pycharm\测试.py'))
  6. # False

os.path.isfile(path)

  1. import os
  2. os.path.isfile(path) # 如果path是一个存在的文件,返回True。否则返回False

os.path.isdir(path)

  1. import os
  2. os.path.isdir(path) # 如果path是一个存在的目录,则返回True。否则返回False

os.path.join()

  1. import os
  2. # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
  3. # os.path.join(path1[, path2[, ...]])
  4. print(os.path.join('a','v','b'))
  5. # a\v\b

os.path.getatime(path)

  1. import os
  2. # 返回path所指向的文件或者目录的最后存取时间
  3. print(os.path.getatime('user.txt'))
  4. # 1607600260.567842

os.path.getmtime(path)

  1. import os
  2. # 返回path所指向的文件或者目录的最后修改时间
  3. print(os.path.getmtime('user.txt'))
  4. # 1607589555.8915515

os.path.getsize(path)

  1. import os
  2. # 返回path的大小
  3. print(os.path.getsize(r'F:\学习课件\python\pycharm'))
  4. # 4096

os.path.normcase()

  1. import os
  2. # 在win系统上可以把/转化为\
  3. # 在linux不行
  4. print(os.path.normcase(r'F:/学习课件\python\pycharm\测试.py'))
  5. # f:\学习课件\python\pycharm\测试.py

os.path.normpath()

  1. import os
  2. # 返回上一级目录
  3. print(os.path.normpath(r'F:/学习课件\python\pycharm\..\..'))
  4. # F:\学习课件

os路径处理

  1. #方式一:推荐不使用
  2. import os
  3. #具体应用
  4. import os,sys
  5. possible_topdir = os.path.normpath(os.path.join(
  6. os.path.abspath(__file__),
  7. os.pardir, #上一级
  8. os.pardir,
  9. os.pardir
  10. ))
  11. sys.path.insert(0,possible_topdir)
  12. #方式二:推荐使用
  13. os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))