• python文件目录操作


    1、取得当前目录——os.getcwd()

    >>> import os
    >>> s=os.getcwd()#获得当前运行脚本所在目录
    >>> s
    '/Users/guanbinbin'

    比如运行test.py,那么输入该命令就会返回脚本所在的文件夹位置。

    例如将test.py放入A文件夹。并且希望不管将A文件夹放在硬盘的哪个位置,都可以在A文件夹内生成一个新文件夹。且文件夹的名字根据时间自动生成。

    >>> import os
    >>> import time
    >>> folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
    >>> os.makedirs(r'%s/%s'%(os.getcwd(),folder)) #创建以时间命名文件夹名
    /Users/guanbinbin/2020-04-06_13-24-14

    这是运行脚本的目录即'/Users/guanbinbin/'下多了一个以当前时间命名的文件夹2020-04-06_13-24-14

    2、创建子目录——os.makedirs("path"),path是要创建的子目录

    >>> os.makedirs("/Users/guanbinbin/2020-04-06_13-24-14/temp") #这是2020-04-06_13-24-14文件夹下创建temp目录

    (当然,也可能创建失败,比如path已存在,或者驱动器不在,或者无写权限等等)

    3、更改当前目录——os.chdir()

    相当于dos或Linux下的cd命令

    >>> os.chdir('c:\')  #将当前目录改为C盘根目录下

    4、将路径分解为目录名和文件名——os.path.split()

    格式为:fpath , fname = os.path.split( "要分解的路径")

    >>> a,b=os.path.split("/Users/guanbinbin/2020-04-06_13-24-14/test.txt")
    >>> a
    '/Users/guanbinbin/2020-04-06_13-24-14'
    >>> b
    'test.txt'
    >>>

    5、分解文件名的扩展名——os.path.splitext()

    格式为:fpath_name , ftext = os.path.splitext( "要分解的路径")

    >>> a,b=os.path.splitext("/Users/guanbinbin/2020-04-06_13-24-14/test.txt")
    >>> a
    '/Users/guanbinbin/2020-04-06_13-24-14/test'
    >>> b
    '.txt'
    >>>

    6、判断一个路径(目录或文件)是否存在——os.path.exists()

    格式为:os.path.exists(“要判断的路径或文件”)

    复制代码

    >>> os.path .exists("/Users/guanbinbin/2020-04-06_13-24-14")    //该路径是否存在
    True
    >>> os.path .exists("/Users/guanbinbin/2020-04-06_13-24-14/test.txt") //该文件是否存在
    True
    >>> os.path .exists("/Users/guanbinbin/2020-04-06_13-24-14/test1.txt")
    False
    >>>

    复制代码

    7、判断一个路径是否有需要的文件——os.path.isfile("文件")

    >>> os.path .isfile("/Users/guanbinbin/2020-04-06_13-24-14/test1.txt")
    False
    >>> os.path .isfile("/Users/guanbinbin/2020-04-06_13-24-14/test.txt")
    True
    >>>

    8、判断一个路径是否存在——os.path.isdir("路径")

    >>> os.path .isdir("/Users/guanbinbin/2020-04-06_13-24-14/")
    True
    >>> os.path .isdir("/Users/guanbinbin/2020-04-06_13-24-14/haha/")
    False

    9、获取目录中的文件及子目录的列表——os.listdir("路径")

    相当于Windows下powershell中获取Get-ChildItem命令和Linux中的ls命令。但是这个显示不是以常见的列表的形式:

    >>> os.listdir("/Users/guanbinbin/") #这里包括隐藏文件也显示出来了

    ['Music', '.zcompdump-管彬彬的MacBook Pro-5.3', '.DS_Store', '.CFUserTextEncoding', 'test', '.hgignore_global', 'IMG_9186的副本.JPG', '.zshrc', '.local', 'Pictures', '2020-04-06_13-24-14', '.zsh_history', 'Desktop', 'Library', '.oracle_jre_usage', '.ShadowsocksX-NG', '.android', 'Pipfile', '.gitignore_global', 'Public', 'Virtual Machines.localized', '.ssh', 'Movies', 'Applications', '.Trash', '.gitflow_export', 'hosts', 'Documents', '.mysql_history', '.bash_profile', '.oh-my-zsh', 'Downloads', '.gitconfig', '.bash_history', '.viminfo']

    
    

    示例:获取指定目录下的所有子目录的列表

    >>> def getDirList( p ):
    ... p = str( p )
    ... if p=="":
    ... return [ ]
    ... if p[ -1] != "/":
    ... p = p+"/"
    ... a = os.listdir( p )
    ... b = [ x for x in a if os.path.isdir( p + x ) ]
    ... return b
    ...
    >>> getDirList("/Users/guanbinbin")
    ['Music', 'test', '.local', 'Pictures', '2020-04-06_13-24-14', 'Desktop', 'Library', '.oracle_jre_usage', '.ShadowsocksX-NG', '.android', 'Public', 'Virtual Machines.localized', '.ssh', 'Movies', 'Applications', '.Trash', 'Documents', '.oh-my-zsh', 'Downloads']
    >>>

    >>> os.rmdir("/Users/guanbinbin/2020-04-06_13-24-14/temp")#这里删除了temp目录
  • 相关阅读:
    oracle手工生成AWR报告方法
    oracle init.ora常用配置详解
    Statspack的使用
    控制用户的访问之权限、角色【weber出品必属精品】
    初识数据字典【weber出品必属精品】
    EMCA常用命令 【weber整理必出精品】
    全世界最详细的图形化VMware中linux环境下oracle安装(三)【weber出品必属精品】
    vi 快捷键【转】【weber整理必出精品】
    数据库对象(视图,序列,索引,同义词)【weber出品必属精品】
    解决linux下oracle进入sqlplus环境中后退键显示^H、上下键无效与ctrl+l无法清屏等问题【weber出品必属精品】
  • 原文地址:https://www.cnblogs.com/guanbin-529/p/12641792.html
Copyright © 2020-2023  润新知