【2017-11-18】文件與IO(四)

os模塊的使用,總結(jié)、加深

  • 獲取路徑及路徑屬性
    • os.getcwd() 獲得當前工作目錄
    • os.path.getsize(filename) 返回文件的大小,注意不是文件夾,否則返回為0
    • .os.path.getatime(path) 返回path所指向的文件或者目錄的最后存取時間戳。
    • os.path.getmtime(path) 返回path所指向的文件或者目錄的最后修改時間戳
    • os.stat(path)獲取所有屬性,包括創(chuàng)建時間、最后修改時間、最后訪問時間、權(quán)限模式、文件大小等
    • os.path.dirname() 返回指定路徑的目錄,相當于os.path.split()第一個元素
    • os.path.basename() 返回指定路徑的文件名,相當于os.path.split()第二個元素
    • os.path.abspath() 返回指定文件規(guī)范化的絕對路徑
    • os.listdir() 返回指定目錄下的文件或目錄名
>>> import os
>>> os.getcwd()
'D:\\python3.6\\Lib\\idlelib'
>>> path=r"E:\python\page5\first.py"
>>> os.path.getsize(path)
353
>>> os.path.getmtime(path)
1511009754.0
>>> os.path.getatime(path)
1510934400.0
>>> os.stat(path)
os.stat_result(st_mode=33206, st_ino=23722177728, st_dev=3276949959, st_nlink=1, st_uid=0, st_gid=0, st_size=353, st_atime=1510934400, st_mtime=1511009754, st_ctime=1511007380)
>>> os.path.abspath("first.py")
'D:\\python3.6\\Lib\\idlelib\\first.py'
>>> os.path.dirname(path)
'E:\\python\\page5'
>>> os.path.dirname(os.path.dirname(path))
'E:\\python'
>>> os.path.basename(path)
'first.py'
>>> os.listdir(os.getcwd())
>>> 
  • 操作路徑及目錄
    • os.mkdir(path) 創(chuàng)建目錄,僅僅一級,若存在,則報錯
    • os.rmdir(path) 要求目錄為空, 否則拋出OSError錯誤
    • os.makedirs(path) 創(chuàng)建多級目錄
    • os.removedirs(path) 先刪除子目錄,再刪除父目錄,子目錄失敗,父目錄也失敗,類似rmdir,既要求目錄為空
    • os.remove(filename) 僅僅刪除文件,不會刪除目錄
    • os.rename(old,new) 對文件進行重命名
    • os.renames(old,new) 對文件或者目錄進行重命名,功能除了重命名,更類似剪切功能。可以將整個文件樹移動到一個不存在的目錄下
    • os.path.split 指定路徑文件目錄與文件名分離,返回一個包含目錄名和文件名的元組,即(目錄,文件)例如: os.path.split('/home/swaroop/byte/code/poem.txt') 結(jié)果:('/home/swaroop/byte/code', 'poem.txt')
    • os.chdir(path)改變當前工作目錄到指定的路徑
    • os.path.join() 將多個指定目錄進行拼接
    • os.walk(path) 深度遍歷path,返回一個對象,他的每個部分都是一個三元組 ('目錄x',[目錄x下的目錄list],目錄x下面的文件) 。
#示例:os.walk()
for i in os.walk(os.getcwd()):
    print(i)
#結(jié)果
('E:\\python\\page5', ['.idea', 'result', 'tt'], ['first.py'])
('E:\\python\\page5\\.idea', ['inspectionProfiles'], ['modules.xml', 'misc.xml', 'page5.iml', 'workspace.xml'])
('E:\\python\\page5\\.idea\\inspectionProfiles', [], ['profiles_settings.xml'])
('E:\\python\\page5\\result', [], ['ew'])
('E:\\python\\page5\\tt', ['3.txt'], [])
('E:\\python\\page5\\tt\\3.txt', [], [])
  • 測試文件或者目錄是否存在
  • os.path.isfile() 返回指定路徑是否為文件,是為true,否為false
  • os.path.isdir() 返回指定路徑是否為目錄,是為true,否為false
  • os.path.exists() 檢查給定路徑是否存在,存在true,不存在false
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容