• python操作文件和目录查看、创建、删除、复制


    python内置了os模块可以直接调用操作系统提供的接口函数,os.name查询的是操作系统,‘nt’表示windows系统

    >>> import os
    >>> os.name
    'nt'

    使用os.environ查看环境变量:

    >>> os.environ
    environ({'ADSK_3DSMAX_X64_2014':AppData\Roaming', ……})

    还可以获得某个具体的环境变量的值:

    >>> os.environ.get('path')
    'C:\ProgramData\Oracle\Java\ja……'
    >>> os.environ.get('haha','nice') #如果没有指定的环境变量,则返回指定的值
    'nice'

    查看当前目录的绝对路径:

    >>> os.path.abspath('.')
    'C:\Users\WC'

    在某个目录下面创建新目录,需要两个步骤:先join(合成路径),再mkdir()创建

    >>> os.path.join('E:Python3.6.3workspace','测试文件夹')
    'E:\Python3.6.3\workspace\测试文件夹'
    >>> os.mkdir('E:\Python3.6.3\workspace\测试文件夹')

    删除目录:

    >>> os.rmdir('E:\Python3.6.3\workspace\测试文件夹')

    拆分目录或者文件的路径,拆分结果分为两部分,后一部分总是最后级别的目录或者文件名:

    >>> os.path.split('E:Python3.6.3workspaceerr.py')
    ('E:\Python3.6.3\workspace', 'err.py')
    >>> os.path.split('E:Python3.6.3workspace')
    ('E:\Python3.6.3', 'workspace')

    获得文件扩展名,返回的是一个list:

    >>> os.path.splitext('E:Python3.6.3workspaceerr.py')
    ('E:\Python3.6.3\workspace\err', '.py')

    重命名:

    >>> os.rename('E:\Python3.6.3\workspace\err.py','E:\Python3.6.3\workspace\reerr.py')

    切换目录:

    >>> os.chdir('E:\Python3.6.3\workspace\')
    >>> os.path.abspath('.')
    'E:\Python3.6.3\workspace'

    复制文件,需要使用python中高级的文件操作模块shutil。shutil.copy(s,d)可以实现文件复制功能,s,d都是字符串格式,s表示源文件,d表示目的文件或者目录,当d是文件名时,它会被用来当做复制后的文件名称,效果相当于 复制 +重命名:

    >>> import shutil
    >>> import os
    >>> shutil.copy('first.py','E:Python3.6.3workspace备份')
    'E:\Python3.6.3\workspace\备份\first.py'
    >>> shutil.copy('first.py','E:\Python3.6.3\workspace\备份\first_copy.py')
    'E:\Python3.6.3\workspace\备份\first_copy.py'

    (以上注意的是,当重命名一个文件的时候,windows下的目录路径要使用\代替)

    复制文件的内容:

    >>> shutil.copyfile('E:\Python3.6.3\workspace\备份\first.py','E:\Python3.6.3\workspace\备份\first_copy.py')
    'E:\Python3.6.3\workspace\备份\first_copy.py'

    判断对象是不是目录文件:

    >>> os.path.isdir('E:Python3.6.3workspacefirst.py')
    False
    >>> os.path.isdir('E:Python3.6.3workspace')
    True
    >>> os.path.isfile('E:Python3.6.3workspacehello.py')
    True
    >>> os.path.isfile('E:Python3.6.3workspace')
    Fals

    练习:列举指定目录下包括子目录中所有的包含指定字符串的文件

    >>> import os
    >>> def searchStr(d,str):
    ...     for i in os.listdir(d):
    ...             sd = os.path.join(os.path.abspath(d),i)
    ...             if str in i:
    ...                     print(sd)
    ...             if os.path.isdir(sd):
    ...                     searchStr(sd,str)
    ...
    >>> searchStr('E:Python3.6.3workspace','f')
    E:Python3.6.3workspaceerr_logginginfo.py
    E:Python3.6.3workspacefirst.py
    E:Python3.6.3workspace备份first.py
    E:Python3.6.3workspace备份first_copy.py
  • 相关阅读:
    HTTP协议一次上传多个文件的方法
    PHP中include和require的区别
    jenkins持续集成工具
    vue加强(第二天)
    VUE(第一天)
    mybatis的SQL映射(加强)
    easyPOI的上传和下载(导入和导出功能)
    shiro登录授权框架
    SpringDataJPA(ORM对象关系映射框架)
    SpringSpringMVCJPA集成
  • 原文地址:https://www.cnblogs.com/hiwuchong/p/8613640.html
Copyright © 2020-2023  润新知