zoukankan      html  css  js  c++  java
  • python中OS模块的使用

    OS模块是python中用来对目录操作的一个模块。

    基本函数如下:

    os.mkdir():创建一个目录;os.makedirs():创建多层目录。

    os.rmdir():删除一个目录;os.removedirs():删除多层目录。

    os.listdir():列出目录下的目录及文件。

    os.getcwd():获取当前绝对路径。

    os.chdir():改变当前路径。

    os.walk():遍历给定路径下的目录和文件。

    基本使用如下:

    >>> import os
    >>> os.mkdir('text')
    >>> os.makedirs('a/b/c/d')
    >>> os.listdir('.')
    ['a', 'text', 'zz.py', '题目']
    >>> os.rmdir('text')
    >>> os.removedirs('a/b/c/d')
    >>> os.listdir('.')
    ['zz.py', '题目']
    >>> os.listdir('c:/')
    ['$Recycle.Bin', 'Documents and Settings', 'hiberfil.sys', 'Intel', 'MSOCache', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Recovery', 'swapfile.sys', 'System Volume Information', 'Users', 'vnc', 'vnc.zip', 'Windows']
    >>> os.getcwd()
    'E:\1.个人网盘云端\2.学习成长\4.python\Demo'
    >>> os.chdir('c:/')
    >>> os.listdir('.')
    ['$Recycle.Bin', 'Documents and Settings', 'hiberfil.sys', 'Intel', 'MSOCache', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Recovery', 'swapfile.sys', 'System Volume Information', 'Users', 'vnc', 'vnc.zip', 'Windows']
    >>> os.chdir('E:\1.个人网盘云端\2.学习成长\4.python\Demo')
    >>> os.listdir('.')
    ['zz.py', '题目']
    >>>

    两个小例子:遍历目录下的文件。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import os
    
    def dirList(path):
        filelist = os.listdir(path)
        for filename in filelist:
            fpath = os.path.join(path,filename)
            if os.path.isdir(fpath):
                dirList(fpath)
            print(fpath)
    dirList('E:\1.个人网盘云端\2.学习成长\4.python\Demo\textdir')

    使用os.walk()遍历目录下的目录和文件。

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    import os
    
    #Os.Walk()函数,遍历给定路径下的目录和文件
    dirt = os.walk('E:\1.个人网盘云端\2.学习成长\4.python\Demo\textdir')
    #返回一个元组,([路径][目录][文件])
    
    for path,dirlist,filelist in dirt:
        for filename in filelist:
            print(os.path.join(path,filename))

    os.walk模块返回的是一个元组,里面有3个列表,分别存放绝对路径、路径下的目录、路径下的文件。

    不过不能直接查看,它是一个walk的对象,需要遍历才能读取数据。

    测试:

    >>> import os
    >>> dirt = os.walk('E:\1.个人网盘云端\2.学习成长\4.python\Demo\textdir')
    >>> dirt
    <generator object walk at 0x04033DF0>
    >>> for path,dirlist,filelist in dirt:
        print(path,dirlist,filelist)
    
    E:1.个人网盘云端2.学习成长4.pythonDemo	extdir ['file1', 'file2', 'file3', 'file4', 'file5', 'timu'] []
    E:1.个人网盘云端2.学习成长4.pythonDemo	extdirfile1 [] ['文件1.txt', '文件2.txt']
    E:1.个人网盘云端2.学习成长4.pythonDemo	extdirfile2 [] ['文件3.txt']
    E:1.个人网盘云端2.学习成长4.pythonDemo	extdirfile3 [] []
    E:1.个人网盘云端2.学习成长4.pythonDemo	extdirfile4 [] []
    E:1.个人网盘云端2.学习成长4.pythonDemo	extdirfile5 [] []

    os.walk()用的最多的应该就是里面的filelist,里面包含了所有文件名称。

    这里os.path.join(path,filename)的意思是将path和filename链接起来。下去试一试就明白了。


    读书和健身总有一个在路上

  • 相关阅读:
    DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting
    DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
    DVWA 黑客攻防演练(八)SQL 注入 SQL Injection
    DVWA 黑客攻防演练(七)Weak Session IDs
    DVWA 黑客攻防演练(六)不安全的验证码 Insecure CAPTCHA
    DVWA 黑客攻防演练(五)文件上传漏洞 File Upload
    工作流表结构设计
    Visual Studio 2019尝鲜----新建空项目体验
    《使用CSLA 2019:CSLA .NET概述》原版和机译文档下载
    .NET快速开发平台的在线预览
  • 原文地址:https://www.cnblogs.com/Renqy/p/12800031.html
Copyright © 2011-2022 走看看