欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 入门之 内置模块 -- os模块

程序员文章站 2023-08-23 10:19:21
Python 入门之 内置模块 -- os模块 os模块是与操作系统交互的一个接口,它提供的功能多与工作目录,路径,文件等相关 os模块中的常用方法 ......

python 入门之 内置模块 -- os模块

1、os os是和操作系统做交互,给操作发指令

os模块是与操作系统交互的一个接口,它提供的功能多与工作目录,路径,文件等相关

(1)工作路径

print(os.getcwd())  # 获取当前文件工作的路径     ***
os.chdir("d:\python_s25\day16")  # 路径切换     **
print(os.getcwd())
print(os.curdir)        #返回当前目录: ('.')
print(os.pardir)        #获取当前目录的父目录字符串名:('..')

(2)文件夹

os.mkdir("a2")  # 创建文件夹
os.rmdir("a2")  # 删除文件夹
os.makedirs('a1/a2/a3')  # 递归创建文件夹
os.removedirs("a1/a2/a3") # 递归删除文件夹
print(os.listdir(r"d:\python_s25\day17"))  # 查看当前文件下所有的内容

(3)文件

os.remove(r"d:\python_s25\day17\a")      #删除文件,彻底删除 找不回来
os.rename()                              # 重命名

os.stat('path/filename')                  # 获取文件/目录信息

(4)路径

print(os.path.abspath("test"))   # 返回的是绝对路径     
print(os.path.split(r"d:\python_s25\day17\test"))  #将路径分割成一个路径和一个文件名 
print(os.path.dirname(r"d:\python_s25\day17\test"))  #获取到父目录                   
print(os.path.basename(r"d:\python_s25\day17\test")) #获取文件名  
print(os.path.join("d:\python","day17","test"))        # 路径拼接   (非常重要)
os.path.exists(path)  # 如果path存在,返回true;如果path不存在,返回false  
os.path.isabs(path)  # 如果path是绝对路径,返回true  
os.path.isfile(path)  # 如果path是一个存在的文件,返回true。否则返回false 
os.path.isdir(path)  # 如果path是一个存在的目录,则返回true。否则返回false  
os.path.getatime(path)  # 返回path所指向的文件或者目录的最后访问时间  
os.path.getmtime(path)  # 返回path所指向的文件或者目录的最后修改时间  
os.path.getsize(path) # 返回path的大小

(5)判断

print(os.path.exists(r"d:\python_s25\day17\blog"))  # 判断当前路劲是否存在  
print(os.path.isabs(r"d:\python_s26\day17\blog"))     # 判断是不是绝对路径  
print(os.path.isdir(r"d:\python_s25\day17\blog"))        # 判断是不是文件夹 
print(os.path.isfile(r"d:\python_s25\day17\blog"))           # 判断是不是文件  

print(os.path.getsize(r"d:\python_s25\day17\01 今日内容.py"))  # 获取文件大小
print(os.path.getsize(r"d:\python_s25"))  # 获取文件大小

(6)操作系统相关

os.sep    # 输出操作系统特定的路径分隔符,win下为"\\",linux下为"/" 
os.linesep    # 输出当前平台使用的行终止符,win下为"\t\n",linux下为"\n" 
os.pathsep    # 输出用于分割文件路径的字符串 win下为;,linux下为: 
os.name    # 输出字符串指示当前使用平台。win->'nt'; linux->'posix' 
# 和执行系统命令相关
os.system("bash command")  # 运行shell命令,直接显示  
os.popen("bash command").read()  # 运行shell命令,获取执行结果  
os.environ  # 获取系统环境变量  

(7)os.stat('path/filename') 获取文件/目录信息 的结构说明

# stat 结构:
st_mode: inode # 保护模式
st_ino: inode # 节点号。
st_dev: inode # 驻留的设备。
st_nlink: inode # 的链接数。
st_uid: # 所有者的用户id。
st_gid: # 所有者的组id。
st_size: # 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: # 上次访问的时间。
st_mtime: # 最后一次修改的时间。
st_ctime: # 由操作系统报告的"ctime"。在某些系统上(如unix)是最新的元数据更改的时间,在其它系统上(如windows)是创建时间(详细信息参见平台的文档)