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链接起来。下去试一试就明白了。


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

  • 相关阅读:
    你必须知道的.Net 8.4.4 位枚举
    你必须知道的.Net 8.2.3 覆写 Equals
    你必须知道的.Net 8.2.2 本质分析
    【日 志】
    你必须知道的.Net 【特 性】Attribute
    【GC】
    用vhd挂载并安装win7且建立分差vhd
    让win7安装时出现版本选项
    vdi、vhd、vmdk虚拟格式转换
    移动硬盘/U盘上装Windows 7旗舰版(VHD版)
  • 原文地址:https://www.cnblogs.com/Renqy/p/12800031.html
Copyright © 2011-2022 走看看