OS模块

OS模块

OS模块是Python标准库中用于访问操作系统功能的模块。

使用OS模块提供的接口,能够实现跨平台访问。

最常见的操作:

  • 目录的操作
  • 判断

1.系统操作

  • os.sep:用于查看系统路径的分隔符;

    • Window—>’\’

    • ubuntu—>’/’

  • os.name:显示我们正在使用的平台

    • Window---->‘nt’
    • Linux/Unix—>‘posix’
  • os.getenv()—>读取环境变量(environment)

  • os.getcwd()—>获取当前路径

2.目录操作—增删改查(direction)

  • os.listdir():返回指定目录下的所有文件和目录名
import os
print(os.listdir())  # 未指定路径,默认当前路径
#['.idea', 'data', 'day01.py', 'day03.py', 'day04.py', 'day05.py', 'module_test.py', 'test.py', 'week01.py', '__pycache__']
dirs = "C:\\Users\\11980\Desktop\学习\python"
print(os.listdir(dirs))  # 指定路径下
#['JetBrains PyCharm 2018.1 x64.lnk', 'pip-19.1.1', 'python学习笔记', 'python安装', 'python安装.zip', 'typora', 'xmind', '作业', '周总结', '学习工具.zip', '短学期']
  • 目录的创建:

    • os.mkdir(path):创建目录,但仅创建一级目录;若文件已存在则报错
    import os
    os.mkdir("os_test")
    
    • os.makedirs(path):创建目录,创建多级目录;若文件已存在则报错
    import os
    os.makedirs("main_file\sub_file")
    
  • 目录/文件删除

    • os.rmdir(path):删除空目录(一级),若不为空则报错
    • os.removedirs(path):删除空目录(多级),若根目录下存在文件,则仅删除子目录
    • os.remove(path):删除文件,必须是文件,不能删除目录
import os
os.rmdir('os_test')
os.removedirs('main_file\sub_file')
os.removedirs('data\李跃2.txt')
  • 更改目录

    • os.chdir(path):change direction # 将当前工作目录更改到指定的工作目录。
    • os.rename(old_name, new_name):
    import os
    os.chdir('..')
    os.listdir()
    #['dxq', 'test', 'test1']
    os.chdir('./test1/data')
    os.rename('李跃.txt', 'liyue.txt')
    

3.判断文件

  • os.path.exists(path):判断文件或者目录是否存在。存在,返回True;否则返回False
import os
print(os.path.exists('day01.py'))
#True
print(os.path.exists('day01.txt'))
#False
print(os.path.exists('data'))
#True
  • os.path.isfile(path):判断是否为文件。是,返回True;否,返回False
import os
print(os.path.isfile('data'))
#False
print(os.path.isfile('day01.py'))
#True
  • os.path.isdir(path):判断是否为目录。是,返回True;否,返回False
import os
print(os.path.isdir('data'))
#True
print(os.path.isdir('day01.py'))
#False

4.拓展:

  • os.path.dirname(path):返回文件路径
  • os.path.basename(path):去除路径返回文件名
  • os.path.getsize(path):返回文件大小
  • os.path.abspath(path):返回绝对路径
  • os.path.join(path, name):路径的连接
  • os.path.split(path):将path的目录和文件名称分割开,并返回元组
  • 查看文件时间:
    • os.path.getmtime(path):返回文件或者目录的最后修改时间,结果为秒数—>modify
    • os.path.getatime(path):返回文件或者目录的最后访问时间,结果为秒数
    • os.path.getctime(path):返回文件或者目录的创建时间,结果为秒数
  • 获取文件和目录
    • os.walk():文件目录遍历器
import os
print(os.path.dirname('D:\python\\test1\day01.py'))
#D:\python\test1
print(os.path.basename('D:\python\\test1\day01.py'))
#day01.py
print(os.path.getsize('day01.py'))
#7385
print(os.path.abspath('day01.py'))
#D:\python\test1\day01.py
print(os.path.join('D:\python\\test1', 'day01.py'))  #仅做拼接,不对文件是否存在做判断
#D:\python\test1\day01.py
print(os.path.split('D:\python\\test1\day01.py'))
#('D:\\python\\test1', 'day01.py')
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(os.path.getmtime('D:\python\\test1\data\zucc.txt'))))
#2019-07-22 10:29:35
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(os.path.getatime('D:\python\\test1\data\zucc.txt'))))
#2019-07-22 10:22:46
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(os.path.getctime('D:\python\\test1\data\zucc.txt'))))
#2019-07-22 10:22:46
for i in os.walk('./'):
    print(i)
#('./', ['.idea', 'data', 'main_file', 'os_test', '__pycache__'], ['day01.py', #'day03.py', 'day04.py', 'day05.py', 'module_test.py', 'test.py', 'week01.py'])
#('./.idea', ['inspectionProfiles'], ['encodings.xml', 'misc.xml', 'modules.xml', #'test1.iml', 'workspace.xml'])
#('./.idea\\inspectionProfiles', [], [])
#('./data', [], ['GreenFlowerPorcelain.txt', 'GreenFlowerPorcelain2.txt', #'liyue2.txt', 'test.txt', 'zucc.txt', '李跃2.txt', '青花瓷.txt'])
#('./main_file', ['sub_file'], [])
#('./main_file\\sub_file', [], [])
#('./os_test', [], [])
#('./__pycache__', [], ['module_test.cpython-36.pyc'])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值