zoukankan      html  css  js  c++  java
  • Python学习笔记:os模块常用语法

    一、介绍

    Pythonos 模块包含普遍的操作系统功能。

    可以处理文件、目录等操作。

    二、常用语法

    1.os.name

    输出正在使用的平台。

    import os
    os.name  
    # 'nt'      -- Windows
    # 'posix'   -- Linux/Unix
    

    2.os.getcwd()

    输出当前工作目录。

    import os
    os.getcwd()
    # 'C:\Users\Hider'
    

    3.os.listdir()

    返回指定目录下的文件和目录名称列表。

    import os
    os.listdir()
    '''
    ['.anaconda',
     '.conda',
     '.condarc',
     '.dask',
      'Untitled.ipynb',
     'Videos',
     '「开始」菜单',
     '新建文件夹']
    '''
    os.listdir(r'C:UsersHiderDesktopdo')
    

    4.os.remove()

    删除文件。

    import os
    os.chdir(r'C:UsersHiderDesktop')
    os.remove('remove_test.txt')
    

    5.os.system()

    os.system()方法在子 shell 中执行命令(字符串)。

    该方法是通过调用标准C函数 system() 来实现的,并且具有相同的限制。

    如果命令生成任何输出,则将其发送到解释器标准输出流。

    无论何时使用此方法,都将打开操作系统的相应 shell 并在其上执行命令。

    注意:在 Unix上,返回值是进程的退出状态,在 Windows 上,返回值是系统 shell 程序在运行命令后返回的值。

    # Spyder 直接运行 只输出返回值
    import os
    cmd = 'date'
    os.system(cmd) # 1
    
    # 保存为文件 cmd 命令行执行可输出结果
    C:UsersHiderDesktop>python sys_test.py
    当前日期: 2021/10/26 周二
    输入新日期: (年月日)
    

    6.os.sep

    输出操作系统特征的路径分隔符。

    import os
    os.sep 
    # '\' -- Windows
    # '/'  -- Linux
    

    7.os.linesep

    输出操作系统使用的行终止符。

    import os
    os.linesep # '
    '  -- Windows
    os.linesep # '
    '    -- Linux
    os.linesep # '
    '    -- Mac
    

    8.os.path.split()

    返回一个路径的目录名和文件名。

    import os
    file_dir = r'C:UsersHiderDesktopjson.json'
    os.path.split(file_dir)
    # ('C:\Users\Hider\Desktop', 'json.json')
    
    os.path.split(file_dir)[1]
    # 'json.json'
    

    9.os.path.isfile()

    判断路径是否为文件,需要传入绝对路径。

    注意:使用 os.listdir() 返回值作为 os.path.isfile()os.path.isdir() 入参前,需使用 os.path.join() 进行路径拼接。

    # 简单判断
    import os
    file_dir = 'C:/Users/Hider/Desktop'
    os.path.isfile(file_dir) # False
    os.path.isdir(file_dir) # True
    
    

    10.os.path.isdir()

    判断路径是否为目录,需要传入绝对路径。

    # 遍历
    import os
    dir_name = r'C:UsersHiderDesktopover'
    for i in os.listdir(dir_name):
        # print(i)
        fulldir = os.path.join(dir_name, i)
        # print(fulldir)
        if os.path.isdir(fulldir): # 绝对路径
            print(i)
        if os.path.isfile(fulldir): # 绝对路径
            print(fulldir)
    
    

    11.os.path.exists()

    判断路径是否真实存在。

    import os
    file_dir = r'C:UsersHiderDesktopjson.json'
    os.path.exists(file_dir) # True
    
    

    12.os.path.abspath(name)

    获取绝对路径,即拼接当前工作目录路径。

    import os
    os.getcwd() # 'C:\Users\Hider\Desktop\over'
    os.path.abspath("test.txt") # 'C:\Users\Hider\Desktop\over\test.txt'
    
    

    13.os.path.normpath(path)

    规范 path 字符串形式,即规范分隔符 sep

    import os
    os.path.normpath("abc\def//gg/test.txt")
    # 'abc\def\gg\test.txt'
    
    

    14.os.path.getsize(name)

    获取文件大小,如果是目录则返回 0。

    import os
    file_dir = r'C:UsersHiderDesktopjson.json'
    os.path.getsize(file_dir) # 388
    
    

    更多关于文件大小操作可参考:Python学习笔记:os.stat().st_size、os.path.getsize()获取文件大小

    15.os.path.splitext()

    分离文件名和扩展名。

    import os
    file_dir = r'C:UsersHiderDesktopjson.json'
    os.path.splitext(file_dir)
    # ('C:\Users\Hider\Desktop\json', '.json')
    
    

    16.os.path.join(path, name)

    连接目录和文件名或目录。

    import os
    os.path.join('c:\work', 'file.txt') # 'c:\work\file.txt'
    os.path.join('c:\work', 'file2')  # 'c:\work\file2'
    
    

    17.os.path.basename(path)

    返回文件名。

    import os
    file_dir = r'C:UsersHiderDesktopjson.json'
    os.path.basename(file_dir) # 'json.json'
    
    

    18.os.path.dirname(path)

    返回文件路径。

    import os
    file_dir = r'C:UsersHiderDesktopjson.json'
    os.path.dirname(file_dir) # 'C:\Users\Hider\Desktop'
    
    

    参考链接:盘点Python中os模块的那些用法

    参考链接:python中os.path.isdir()和os.path.isfile()的正确用法

  • 相关阅读:
    美团容器平台架构及容器技术实践
    【人物志】美团首席科学家夏华夏:不断突破边界的程序人生
    Category 特性在 iOS 组件化中的应用与管控
    浅谈大型互联网企业入侵检测及防护策略
    【基本功】深入剖析Swift性能优化
    CAT 3.0 开源发布,支持多语言客户端及多项性能提升
    安装window下的redis,redis可视化管理工具(Redis Desktop Manager)安装,基础使用,实例化项目
    .Net Core Redis的使用
    焦点IT Redis安装与配置( Windows10 或Windows server)
    用VScode配置Python开发环境
  • 原文地址:https://www.cnblogs.com/hider/p/15464466.html
Copyright © 2011-2022 走看看