zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    移动开发 Native APP、Hybrid APP和Web APP介绍
    urllib与urllib2的学习总结(python2.7.X)
    fiddler及postman讲解
    接口测试基础
    UiAutomator2.0 和1.x 的区别
    adb shell am instrument 命令详解
    GT问题记录
    HDU 2492 Ping pong (树状数组)
    CF 567C Geometric Progression
    CF 545E Paths and Trees
  • 原文地址:https://www.cnblogs.com/hiwuchong/p/8613640.html
Copyright © 2011-2022 走看看