Python基础---OS模块 (二)

os.path模块

常用函数:

1、abspath()

  语法:os.path.abspath(path)

  功能:将相对历经转换为绝对路径

1 import os
2 
3 abs_path = os.path.abspath('test.py')
4 print(abs_path)
5 --->C:\Users\hasee\Desktop\test_code\test.py

2、basename()

  语法:os.path.basename(path)

  功能:获取完整路径中的主体部分,即最后一位

   dirname()

  语法:os.path.dirname(path)

  功能:获取完整路径当中的路径部分

 1 import os
 2 
 3 
 4 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
 5 file_name = os.path.basename(path_1)
 6 print(file_name)
 7 dir_name = os.path.dirname(path_1)
 8 print(dir_name)
 9 
10 --->aa.py
11 --->C:\Users\hasee\Desktop\test_code

3、 split()

  语法:os.path.split(path)

  功能:将完整路径切割成目录和主体两部分,返回元组

  返回值:包含路径和主体的一个元组

1 import os
2 
3 
4 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
5 pa = os.path.split(path_1)
6 print(pa)
7 --->('C:\\Users\\hasee\\Desktop\\test_code', 'aa.py')

  join()

  语法:os.path.join(path1, path2)  # path1为路径  path2为文件名

  功能:将两个路径合并成一个

  warning:传入多个路径时,会从第一个以' / '开头的path开始拼接,排在之前的都会丢弃

       以上述为先,如果出现以' ./ '为开头的,则以其前面一位的path开始拼接

1 import os
2 
3 path_1 = r'C:\Users\hasee\Desktop\test_code'
4 filename = 'aa.py'
5 pa = os.path.join(path_1, filename)
6 print(pa)
7 --->C:\Users\hasee\Desktop\test_code\aa.py

4、splitext()

  语法:os.path.splitext(path)

  功能:将完整路径切割成 文件后缀名和其他部分,返回一个元组,主要用于获取文件的后缀

1 import os
2 
3 
4 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
5 pa = os.path.splitext(path_1)
6 print(pa)
7 --->('C:\\Users\\hasee\\Desktop\\test_code\\aa', '.py')

5、getsize()

  语法:os.path.getsize(path)

  功能:获取文件或文件夹大小,单位 字节

1 import os
2 
3 
4 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
5 pa = os.path.getsize(path_1)
6 print(pa)
7 --->1577

6、isfile()

  语法:os.path.isfile(path)

  功能:检测是否为文件类型

   isdir()

  语法:os.path.isdir(path)

  功能:检测是否为目录或文件夹类型

   islink()

  语法:os.path.islink(path)

  功能:检测是否为链接(Windows下为快捷方式)

 1 import os
 2 
 3 
 4 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
 5 pa1 = os.path.isfile(path_1)
 6 pa2 = os.path.islink(path_1)
 7 pa3 = os.path.isdir(path_1)
 8 print(pa1)
 9 print(pa2)
10 print(pa3)
11 
12 --->True
13 --->False
14 --->False

7、以下三个方法得到的都是时间戳,需要使用time模块转换 time.ctime(时间戳)

   getctime()

  语法:os.path.getctime(path)

  功能:获取文件的创建时间

   getmtime()

  语法:os.path.getmtime(path)

  功能:获取文件的修改时间

   getatime()

  语法:os.path.getatime(path)

  功能:获取文件的访问时间

 1 import os
 2 import time
 3 
 4 
 5 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
 6 ctime = os.path.getctime(path_1)
 7 print(ctime)
 8 print(time.ctime(ctime))
 9 
10 --->1519305746.8332536
11 --->Thu Feb 22 21:22:26 2018

8、exists()

  语法:os.path.exists(path)

  功能:检测某路径是否真实存在

1 import os
2 
3 
4 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
5 
6 print(os.path.exists(path_1))
7 --->True
8 print(os.path.exists(r'C:\Users\hasee\Desktop\aa.py'))
9 --->False

9、isabs()

  语法:os.path.isabs(path)

  功能:检测是否为绝对路径

1 import os
2 
3 
4 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
5 print(os.path.isabs(path_1))
6 print(os.path.isabs('aa.py'))
7 
8 --->True
9 --->False

10、samefile()

  语法:os.path.samefile(path1, path2)

  功能:检测两个路径是否是同一个文件

1 import os
2 
3 
4 path_1 = r'C:\Users\hasee\Desktop\test_code\aa.py'
5 path_2 = 'aa.py'
6 print(os.path.samefile(path_1, path_2))
7 --->True

 

posted @ 2018-03-12 20:48  风缘  阅读(155)  评论(0)    收藏  举报