Python中os库

一、os库

os库是Python标准库,包含几百个函数,常用路径操作、进程管理、环境参数等几类。os.path子库以path为入口,用于操作和处理文件路径。

  • 路径操作:os.path子库,处理文件路径及信息
  • 进程管理:启动系统中其他程序
  • 环境参数:获得系统软硬件信息等环境参数

1.路径操作(os.path)

  • os.path.relpath(path):返回当前程序与文件之间的相对路径
  • os.path.split():由链表tail和head组成,tail就是file,head就是file之前的路径。
 1 import os
 2 
 3 path = '/home/Uesr/Desktop/file.txt'
 4 
 5 head_tail = os.path.split(path)
 6 
 7 print("head of '%s:'"%path,head_tail[0])    #是列表形式,【0】表示head文件路径
 8 print("tail of '%s:'"%path,head_tail[1])
 9 
10 
11 #结果
12 head of '/home/User/Desktop/file.txt': /home/User/Desktop
13 Tail of '/home/User/Desktop/file.txt': file.txt
  • os.path.join():连接两个或更多的路径名组件
 1 import os
 2 
 3 Path1 = 'home'
 4 Path2 = 'develop'
 5 Path3 = 'code'
 6 
 7 Path10 = Path1 + Path2 + Path3
 8 Path20 = os.path.join(Path1,Path2,Path3)
 9 print ('Path10 = ',Path10)
10 print ('Path20 = ',Path20)
11 
12 #结果
13 Path10 = homedevelopcode
14 Path20 = home\develop\code
  • os.path.abspath(path):返回path在当前系统中的绝对路径
 1 import os
 2 import sys
 3 file = os.path.join(os.path.split(os.path.realpath(sys.argv[0]))[0],'.','config','config.ini')
 4 file1 = os.path.abspath(file)
 5 print(file)
 6 print(file1)
 7 
 8 #不清楚'.'的作用
 9 #输出脚本所在路径的绝对路径
10 #关于abspath()和realpath()区别,个人理解是abspath返回所在目录的路径,realpath返回的是指定文件的路径
  •  os.path.exists()判断括号里的文件是否存在的意思,括号内的可以是文件路径。返回布尔型

2.文件操作

  • os.mkdir(path【,mode】):path为要创建的目录。mode为目录设置的数字权限
  • os.listdir(path_name):将路径下所有文件存到list中
1 import os
2 path_name = 'D:/users/dir2/excel'
3 name = os.listdir(path_name)
4 print(type(name))
5 for filename in os.listdir(path_name):
6     print(filename)
  • os.stat(path):在指定路径上执行stat()系统调用。此方法用于获取指定路径的状态。path代表有效路径的字符串或字节对象,此方法返回类“ os.stat_result”的“ stat_result”对象,该对象表示指定路径的状态。返回的“ stat-result”对象具有以下属性:
  1. st_mode:表示文件类型和文件模式位(权限)
  2. st_ino:表示Unix上的inode编号和Windows平台上的文件索引
  3. st_dev:代表此文件所在设备的标识符
  4. st_nlink:表示硬链接的数量
  5. st_uid:代表文件所有者的用户标识符
  6. st_gid:代表文件所有者的组标识符
  7. st_size:表示文件的大小(以字节为单位)
  8. st_atime:表示最近访问的时间。以秒为单位
  9. st_mtime:表示最近一次内容修改的时间。以秒为单位
  10. st_ctime:表示Unix上最近的元数据更改时间以及Windows上的创建时间。以秒为单位
  11. st_atime_ns:与st_atime相同,但是时间以纳秒为单位表示为整数
  12. st_mtime_ns:与st_mtime相同,但时间以纳秒为单位表示为整数
  13. st_ctime_ns:与st_ctime相同,但时间以纳秒为单位表示为整数
  14. st_blocks:代表分配给文件的512字节块的数量
  15. st_rdev:表示设备类型,如果是inode设备
  16. st_flags:代表用户定义的文件标志
  • os.fspath():返回路径的文件系统表示。返回字符串类型
1 import os
2 path_name = 'C:/Users/m00794024/Desktop/dir2/output'
3 st = os.fspath(path_name)
4 print(type(st))
5 print(st)
6 
7 #结果
8 <class 'str'>
9 C:/Users/m00794024/Desktop/dir2/output

 

posted @ 2022-08-22 11:18  几何0814  阅读(4038)  评论(0编辑  收藏  举报