Python中os模块的基础学习

一、模块介绍

 os模块提供了一些便捷功能去使用操作系统,例如:读取文件目录,查看文件路径等。

二、模块学习

(一)获取系统类型,环境,执行系统命令

       

import os


def demo_1():       # 系统相关
    # 1、获取系统类型
    sy_name = os.name
    print('系统为:%s' % sy_name)   # nt为windows
    # 输出:系统为:nt

    # 2、获取系统环境
    envision = os.environ   # 返回系统环境变量,字典形式
    print(envision)
    # print(envision['PATH'])     # 获得具体环境变量属性
    environment = os.getenv('PATH')
    # print(environment)      # 获得具体环境变量属性

    # 3、执行系统命令
    os.system('ping www.baidu.com')      # 获取程序执行命令的返回值。直接这样出现乱码
    os.popen('ping www.baidu.com').read()   # 获取程序执行命令的输出结果
    os.system('chcp 65001')         # 解决乱码,但是是英文
    os.system('ping www.baidu.com')


if __name__ == '__main__':
    demo_1()    # 系统相关
    

(二)获取、更改、列举目录

import os


def demo_2():   # 获取、更改、列举目录
    # 1、获取当前目录
    cata = os.getcwd()
    print('当前目录为:', cata)
    # # 1.2 列举目录下的所有文件
    cata_list = os.listdir()
    print('目录下的所有文件为:', cata_list)

    # 2、重命名目录及文件
    os.rename('file.txt', 'file1.txt')  # 前改成后
    print('目录下的所有文件为:', os.listdir())

    # 3、更改目录索引(更改的目录需要存在,不是新建,而且只是暂且更改,再次运行,仍然是原目录)
    os.chdir(f'E:\\python_use_pycharm\\study\\study1\\book_study\\test11-文件处理2')
    print('更改后的目录为:', os.getcwd())  # 更改后目录索引会转到新目录下
    print('目录下的所有文件为:', os.listdir())


if __name__ == '__main__':
    demo_2()    # 操作目录及文件
输出结果如下:

 (三)创建及删除目录、删除文件

  os.remove() 删除文件

import os


def demo_3():   # 创建和删除目录,删除文件
    # 1、创建目录
    os.mkdir('./dir')   # 创建单级目录,该目录存在,则无法创建
    os.makedirs('./dir1/dir1_2/dir1_2_1')    # 创建多级目录
    print(os.listdir())
    # 输出:['dir1', 'dir', 'file1.txt', 'os-demo.py', 'shutil-demo.py', 'write-txt.py']

    # 2、删除目录
    os.rmdir('dir')         # 删除单级空目录,不空,报错
    os.removedirs('./dir1/dir1_2/dir1_2_1')
    print(os.listdir())     # 删除多级空目录,不空,报错
    # 输出:['file1.txt', 'os-demo.py', 'shutil-demo.py', 'write-txt.py']
    
    # 3、删除文件
    os.remove()

if __name__ == '__main__':
    demo_3()    # 创建和删除目录

(四)对路径的相关操作

import os

def demo_4():
    # 1、获取路径
    file = 'file1.txt'
    path0 = os.path.abspath(file)   # 获取file的绝对路径
    print(path0)    # 输出:E:\python_use_pycharm\study\study1\book_study\test11-文件处理\file1.txt
    path1 = os.path.abspath('.')    # 获取当前文件目录的路径
    print(path1)    # 输出:E:\python_use_pycharm\study\study1\book_study\test11-文件处理
    path2 = os.path.abspath('..')
    print(path2)    # 输出:E:\python_use_pycharm\study\study1\book_study

    # 2、路径名的分离和组合
    # #2、1 路径名的分离,假如有个path路径
    path = 'E:\\python\\study\\study1\\book_study'
    path_split = os.path.split(path)
    print(path_split)
    # 输出:('E:\\python\\study\\study1', 'book_study')

    path = 'E:\\python\\study\\study1\\'
    path_split = os.path.split(path)
    print(path_split)
    # 输出:('E:\\python\\study\\study1', '')

    # 3、路径组合
    path_join = os.path.join('E:\\python\\study\\study1', 'book_study', 'demo.py')
    print(path_join)    # 输出:E:\python\study\study1\book_study\demo.py

    path_join = os.path.join('E:\\python', 'study', 'E:\\python\\study\\study1')
    print(path_join)    # 输出:E:\python\study\study1

    # 4、返回路径的目录名和所在文件名
    path = 'E:\\python\\study\\study1\\book_study'
    print(os.path.dirname(path))    # 输出:E:\python\study\study1(\\结尾,则返回\\前面内容)
    print(os.path.basename(path))   # 输出:book_study(\\结尾,则返回空)


if __name__ == '__main__':
    demo_4()    # 操作文件路径

(五)判断及获取文件或文件夹信息

def demo_5():
    path = 'E:\\python_use_pycharm\\study\\study1\\book_study\\test11-文件处理2'
    os.path.exists(path)    # 判断文件及文件夹是否存在,存在True
    os.path.isfile(path)    # 判断是否是文件
    os.path.isdir(path)     # 判断是否是目录
    os.path.isabs(path)     # 判断是否是绝对路径
    os.path.getsize(path)     # 获取文件大小
    print(os.path.exists(path), os.path.isfile(path), os.path.isdir(path), os.path.isabs(path), os.path.getsize(path))
    # 输出:True False True True 0

新手,记录,方便查看。

有错误,欢迎指正,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值