1. 程式人生 > >python目錄操作之os.path模組詳解

python目錄操作之os.path模組詳解

os.path模組

注意:匯入os模組或os.path模組都可以使用下面介紹的方法

os.path.exists(path):判斷指定目錄是否存在

>>> import os.path

>>> if os.path.exists("D:\\test"):

...     print ("do something")

...

os.path.isabs(path):判斷路徑是否為絕對路徑,不會判斷目錄是否真實存在

>>> os.path.isabs("test")  

False

>>> os.path.isabs("c:\\test")

True

os.path.isfile(path):判斷指定目錄是否為檔案

>>> import os.path

>>> if os.path.isfile("D:\\1.txt"):

...     print ("True")

...

True

os.path.isdir(path):判斷指定路徑是否為目錄

>>> if os.path.isdir("D:\\1.txt"):

...     print ("True")

... else:

...     print ("False")

...

False

os.path.join() 拼接路徑

>>> os.path.join("c:\\","a.txt")

'c:\\a.txt'

>>> os.path.join("c:\\test","c:\\a.txt")  #如果都是絕對路徑就輸出後者

'c:\\a.txt'

>>> os.path.join(r"e:\test",r"e:\a.txt")

'e:\\a.txt'

os.path.abspath():把一個相對路徑變成絕對路徑,不保證檔案是否存在

>>> import os

>>> print (os.path.abspath("gang.txt"))

C:\Users\zhigang\Desktop\gang.txt

os.path.split(path):分割路徑名與檔名,以元組的形式返回

>>> os.path.split(r"C:\Users\zhigang\Desktop\gang.txt")

('C:\\Users\\zhigang\\Desktop', 'gang.txt')

>>> os.path.split(r"C:\Users\zhigang\Desktop\gang.txt")[1]

'gang.txt'

os.path.dirname(path):返回path的目錄路徑,其實就是os.path.split(path)的第一個元素

>>> os.path.dirname(r"C:\Users\zhigang\Desktop\gang.txt")

'C:\\Users\\zhigang\\Desktop'

os.path.basename(path):返回path最後的檔名。如果path以/或\結尾,就會返回空值。即os.path.split(path)的第二個元素

>>> os.path.basename(r"C:\Users\zhigang\Desktop\gang.txt")

'gang.txt'

os.path.normpath(path) 將path轉換成規範的檔案路徑,不常用

os.path.getsize(path) 獲取檔案大小,如果path是目錄返回結果是0L或者4096L

>>> os.path.getsize("C:\\Users\\zhigang\\Desktop")  #目錄的大小

16384

>>> os.path.getsize("C:\\Users\\zhigang\\Desktop\\gang.txt")   #檔案的大小

45

>>> os.path.getsize("test")

4096

當檔案不存在時,報錯:FileNotFoundError: [WinError 2] 系統找不到指定的檔案。

os.path.splitext(path):分離檔名與副檔名,以元組的形式返回

>>> os.path.splitext("C:\\Users\\zhigang\\Desktop\\zhigang.py")

('C:\\Users\\zhigang\\Desktop\\zhigang', '.py')

>>> os.path.splitext("C:\\Users\\zhigang\\Desktop\\gang.txt")

('C:\\Users\\zhigang\\Desktop\\gang', '.txt')


>>> path="C:\\Users\\zhigang\\Desktop\\gang.txt"

>>> os.path.split(path)[1]

'gang.txt'

>>> os.path.splitext(path)[1]

'.txt'

os.path.splitdrive(path):拆分驅動器和檔案路徑,並以元組返回結果;

>>> os.path.splitdrive("c:\\test")
('c:', '\\test')
>>> os.path.splitdrive("c:\\test")[0]
'c:'

os.path.getatime():獲取檔案的訪問時間

>>> os.path.getatime("zhigang.py")

1534600200.4937067


import os

import time

#獲取檔案最後訪問時間

lastTime = os.path.getatime("test")

print (lastTime)

#將時間戳轉成時間元組

formatTime = time.localtime(lastTime)

print (formatTime)

#格式化時間元組為時間字串

print (time.strftime("%Y-%m-%d %H:%M:%S",  formatTime))

os.path.getmtime(filename):獲取檔案的修改時間

>>> os.path.getmtime("gang.txt")

1534493723.1105375

os.path.getctime(filename):獲取檔案的建立時間

>>> os.path.getctime("gang.txt")

1534338653.4706845