zoukankan      html  css  js  c++  java
  • python中常用的文件和目录操作(二)

    一. os模块概述

    python os模块提供了非常丰富的方法用来处理文件和目录

    二. 导入os模块:

    import os

    三. 常用方法

    1. os.name 输出字符串表示正在使用的平台,如果是windows则用"nt"表示,如果是Linux/Unix,是"posix"

    import os
    
    print(os.name)
    
    结果:
    nt

    2. os.getcwd()  得到当前的工作目录,即当前python脚本工作的目录路径

    import os
    
    print(os.getcwd())
    
    结果:
    D:python_workshoppython6study

    3. os.listdir(path)  以列表的形式返回指定目录下的所有文件和目录名

    import os
    
    dirs = os.listdir(r"D:python_workshoppython6")
    print(dirs)
    
    for file in dirs:
        print(file)

    结果: [
    '.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt'] .idea alice.txt homeworks lessons personal_practices study url.txt

    4. os.mkdir(path, [mode])  创建一个目录,默认mode是0777

    import os
    
    path = "./test"
    os.mkdir(path, 0o755)
    
    print("目录已创建")

    结果: 目录已创建

    5. os.makedirs(path)  创建一系列目录,递归的创建

    import os
    
    path = "./test/android_app/auto_test"
    os.makedirs(path, 0o755)
    
    print("递归目录已创建")

    结果: 递归目录已创建

    6. os.remove()  删除一个文件

    import os
    
    path = "../"
    print("移除前的目录文件为:", os.listdir(path))
    
    os.remove("../math.txt")
    print("移除后的目录文件为: ", os.listdir(path))

    结果: 移除前的目录文件为: [
    '.idea', 'alice.txt', 'homeworks', 'lessons', 'math.txt', 'personal_practices', 'study', 'url.txt'] 移除后的目录文件为: ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt']

    7. os.rmdir() 删除空目录,目录非空时删除会报错OSError

    import os
    
    path = "../"
    print("删除前的目录文件为: ", os.listdir(path))
    
    os.rmdir("../test")
    print("删除后的目录文件为: ", os.listdir(path))
    
    
    结果:
    删除前的目录文件为:  ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'test', 'url.txt']
    删除后的目录文件为:  ['.idea', 'alice.txt', 'homeworks', 'lessons', 'personal_practices', 'study', 'url.txt']

    注意:递归的删除目录可用shutil.rmtree(path),但必须先import shutil

    8. os.environ.get("path")  获取环境变量值

    import os
    
    print(os.environ.get("path"))
    
    
    结果:
    C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)IntelOpenCL SDK3.0inx86;C:Program Files (x86)IntelOpenCL SDK3.0inx64;D:Programpython34;D:Programpython34Scripts;D:Programpython34Lib;D:Programpython34PyInstaller-3.3.1;D:Programpython34libsite-packagespywin32_system32

    9. os.system(command)  运行系统命令

    import os
    
    os.system('echo "hello world!"')
    
    
    结果:
    "hello world!"

    四. os模块path方法

    1. os.path.join(path, name)  连接目录与文件名或目录

    import os
    
    path = "D:\python_workshop"
    name = "hello_world"                  #可以是不存在的目录或文件名
    
    print(os.path.join(path, name))
    
    
    结果:
    D:python_workshophello_world

    2. os.path.isfile(path)和os.path.isdir(path)函数分别检验给出的路径是一个文件还是目录,存在返回True,否则为False

    import os
    
    path = "./url.txt"
    print(os.path.isfile(path))
    
    path = "../python6"
    print(os.path.isdir(path))
    
    
    结果:
    False
    False

    3. os.path.exists(path)  用来检验给出的路径是否真的存在,存在返回True,否则为False

    import os
    
    path = "../test"
    print(os.path.exists(path))
    
    
    结果:
    True

    4. os.path.split(path)  返回一个路径的目录名和文件名(可以是目录可以是文件,如果最后一个是目录,则为目录名)

    import os
    
    path = r"D:python_workshop"
    print(os.path.split(path))
    
    
    结果:
    ('D:\', 'python_workshop')

    5. os.path.splitext(path)分离文件名与扩展名(路径不是真实存在的也行)

    import os
    
    path = r"D:python_workshoppython6lesson1.py"
    print(os.path.splitext(path))
    
    
    结果:
    ('D:\python_workshop\python6\lesson1', '.py')

    6. os.path.dirname(path) 返回文件路径(注意不是文件的完整路径)

    import os
    
    path = r"D:python_workshoppython6"
    print(os.path.dirname(path))
    
    
    结果:
    D:python_workshop

    7. os.path.basename(path) 返回最后的文件名

    import os
    
    path = r"D:python_workshoppython6"
    print(os.path.basename(path))
    
    
    结果:
    python6

    8. os.path.getsize(name) 获得文件大小,如果name是目录返回OL

    import os
    
    name = r"D:python_workshop1.txt"
    print(os.path.getsize(name))
    
    name = r"D:python_workshop"
    print(os.path.getsize(name))
    
    
    结果:
    197
    4096
  • 相关阅读:
    krakend 扩展开发概述
    varnish/api-gateway-benchmarks api gateway 性能压测工具
    krakend 加速配置工具
    krakend 支持发布订阅后端
    krakend 消费amqp mq 消息
    krakend cache 后端请求
    krakend 请求流量镜像的处理
    krakend 请求&&相应的检查
    krakend 的静态proxy
    krakend 的串行proxy
  • 原文地址:https://www.cnblogs.com/my_captain/p/8976076.html
Copyright © 2011-2022 走看看