python標準庫-os.path和glob學習

來源:互聯網
上載者:User

標籤:

參考部落格:
http://www.cnblogs.com/vamei/archive/2012/09/05/2671198.html
http://www.cnblogs.com/baiqi/p/3951506.html
http://www.cnblogs.com/sunnyjiangjie/p/4207063.html
參考資料:Python 2.7.7 documentation
參考工具:http://translate.google.cn/
設定path = ‘/home/vamei/doc/file.txt‘
注意windos和linux下的結果可能不同

一、os.path(常見的路徑操作)
    os.path.abspath(path) 返回path正常化的絕對路徑。
        windos:
            >>> os.path.abspath(path)
            ‘C:\\home\\vamei\\doc\\file.txt‘
        linux:
            >>> os.path.abspath(path)
            ‘/home/vamei/doc/file.txt‘ 
    os.path.basename(path) 查詢路徑下包含的檔案名稱
        >>> os.path.basename(path)
        ‘file.txt‘
    os.path.commonprefix(list) 返回list中,所有path共有的最長的路徑。注意第二個例子,返回可能不是路徑。
        >>> os.path.commonprefix([path,‘/home/‘,‘/home/he.txt‘])
        ‘/home/‘
        >>> os.path.commonprefix([‘asdf1234‘,‘asdf50548‘])
        ‘asdf‘    
    os.path.dirname(path) 返迴路徑名
    ┏os.path.exists(path) 如果path存在返回True;如果path不存在,或者沒有執行os.stat()的許可權,或者已損壞的連結會返回False
    看的其他部落格解釋,連結什麼的沒驗證過
    ┗os.path.lexists(path) 與os.path.exists(path)的不同是如果有損壞的連結會返回True
    os.path.expanduser(path) 把path中包含的"~"和"~user"轉換成使用者目錄;看python手冊吧
    os.path.expandvars(path) 根據環境變數name的值替換path中包含的$name 和${name}
    os.path.getatime(path) 返回最後一次進入此path的時間。 
    os.path.getmtime(path) 返回此path最後一次修改的時間
    os.path.getctime(path) 返回ctime,(類 Unix) time of the last change; Windows, is the creation time for path 
    os.path.getsize(path) 返回path大小,單位byte 
    os.path.isabs(path) 判斷是否絕對路徑 
    os.path.isfile(path) 判斷路徑是否為已存在常規檔案,注意,會先判斷存在性 
    os.path.isdir(path)  判斷路徑是否為已存在目錄,注意,會先判斷存在性 
    os.path.islink(path) 判斷路徑是否為link 
    os.path.ismount(path) 判斷路徑是否為掛載點 
    os.path.join(path1[, path2[, ...]]) 使用目錄名和檔案名稱構成一個路徑字串,自動使用分隔字元os.sep
        >>> os.path.join(‘C:\\‘,‘mydoc‘,‘xxx‘,‘my.txt‘)
        ‘C:\\mydoc\\xxx\\my.txt‘
    os.path.normcase(path) 轉換path的大小寫和斜杠
    os.path.normpath(path) 規範path字串形式
    os.path.realpath(path)
    os.path.relpath(path[, start]) 從start開始計算相對路徑
    os.path.samefile(path1, path2) 判斷目錄或檔案是否相同
    os.path.sameopenfile(fp1, fp2) 判斷fp1和fp2是否指向同一檔案
    os.path.samestat(stat1, stat2) 判斷stat tuple stat1和stat2是否指向同一個檔案 
    os.path.split(path) 把路徑分割成dirname和basename,返回一個元組
    os.path.splitdrive(path) 返回磁碟機名和路徑組成的元組
        >>> os.path.splitdrive(‘c:\\mydoc\\my.txt‘)
        (‘c:‘, ‘\\mydoc\\my.txt‘)
    os.path.splitext(path) 分割路徑,返迴路徑名和副檔名的元組
        >>> os.path.splitext(path)
        (‘/home/vamei/doc/file‘, ‘.txt‘)
    os.path.splitunc(path) 把路徑分割為載入點與檔案
    os.path.walk(path, visit, arg) 遍曆path,進入每個目錄都調用visit函數,visit函數必須有
                                    3個參數(arg, dirname, names),dirname表示目前的目錄的目錄名,
                                    names代表目前的目錄下的所有檔案名稱,args則為walk的第三個參數
    os.path.supports_unicode_filenames 設定是否支援unicode路徑名

二、glob(Unix style pathname pattern expansion)
    只支援萬用字元操作*,?,[]這三個萬用字元
    glob.glob(pathname) 列出所有符合該運算式的檔案
        >>> glob.glob(‘D:\Email\*‘)
        [‘D:\\Email\\Archive 2013-11.pst‘, ‘D:\\Email\\outlook.ost‘, ‘D:\\Email\\~outloo
        k.ost.tmp‘]
    glob.iglob(pathname) 擷取一個glob.glob(pathname)的可遍曆對象

python標準庫-os.path和glob學習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.