python目录操作之os.path模块详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37579123/article/details/84256408

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

猜你喜欢

转载自blog.csdn.net/weixin_37579123/article/details/84256408