zoukankan      html  css  js  c++  java
  • 文件操作

    有关文件夹与文件的查找,删除等功能在 os 模块中实现。使用时需先导入这个模块。

    1、取得当前目录

    s = os.getcwd()

    2、更改当前目录

    os.chdir( "C:\123")

    3、将一个路径名分解为目录名和文件名两部分

    fpath , fname = os.path.split( "你要分解的路径")
    例如:
    a, b = os.path.split( "c:\123\456\test.txt" )
    print a#c:123456
    print b#
    4、分解文件名的扩展名
    a, b = os.path.splitext( "c:\123\456\test.txt" )
    print a#c:123456	est
    print b#.txt

    5、判断一个路径( 目录或文件)是否存在

    b = os.path.exists( "你要判断的路径")
    6、判断一个路径是否文件
    b = os.path.isfile( "你要判断的路径")
    7、判断一个路径是否目录
    b = os.path.isdir( "你要判断的路径")
    8、获取某目录中的文件及子目录的列表  
    L = os.listdir( "c:/" )

    9、创建子目录

    os.makedirs( path )

    调用有可能失败,可能的原因是:path已存在时(不管是文件还是文件夹)等。

    10、删除子目录

    os.rmdir( path )

    产生异常的可能原因: path子目录中有文件或下级子目录等。

    11、删除文件

    os.remove( filename )

    参考:http://www.jb51.net/article/50070.htm

    另外,Python实现递归遍历指定的文件目录,找到所有与指定文件/目录同名称的文件的绝对路径。

    def scandir(startdir, target) :
        os.chdir(startdir)
        for obj in os.listdir(os.curdir) :
            if obj == target :
                print os.getcwd() + os.sep + obj
            if os.path.isdir(obj) :
                scandir(obj, target)
                os.chdir(os.pardir) #!!!

    注意:递归调用后,一定不能忘了os.chdir(os.pardir),返回上层目录(即父目录)。

    也可以通过下面方式实现:

    rootdir = os.getcwd()  
    
    for (dirpath, dirnames, filenames) in os.walk(rootdir):  
        for dirname in dirnames:  
            print('dirname = ' + dirname)  
        for filename in filenames:   
            print(os.path.join(dirpath, filename))  
            if(filename=='target'):#搜索目标  
                #os.chdir(dirpath)  
                #do something
  • 相关阅读:
    mysql 设置密码
    linux 下如何抓取HTTP流量包(httpry)
    m2a-vm超频的方法
    生产服务器环境最小化安装后 Centos 6.5优化配置备忘
    CentOS关闭休眠和屏保模式
    微信公众平台开发教程第2篇-----微信开发者接入
    微信公众平台开发教程第1篇-新手解惑
    android 文件读取(assets、raw)
    员工培训的七大误区和三个内核价值
    从业务专家进阶到管理者
  • 原文地址:https://www.cnblogs.com/houkai/p/4948333.html
Copyright © 2011-2022 走看看