【Python基础篇】之OS基操详解篇~

作者主页: Lonelypatients°

作者简介: 人生没有彩排,每一天都是现场直播。

在这里插入图片描述

文章目录


前言

本⽂主要简述python中与os模块及os.path模块相关内容,仅供学习分享使⽤,如有不⾜之处,还请指正。


一、OS 简述?

python os模块包含大多数操作系统的功能。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在⽇常⼯作中,经常需要⽤到操作系统,以及⽂件⽬录相关的内容,属于系统运维相关的必备知识点。

二、使用步骤

📃1.引入库

导包:

import os

📃2. os.sep 根据你所处的平台,自动采用相应的分隔符号

"""
os.sep根据你所处的平台,自动采用相应的分隔符号。
场景: 例如windows 的路径为'\', 而Liunx 的路径为'/'
所以为不同系统进行使用特定的路径分隔符。
"""
# 结合join使用不同平台产生不同结果
print(os.sep.join(["c:", "filename", "a.txt"]))

Windows执行结果:

c:\filename\a.txt

Liunx执行结果:

c:/filename/a.txt

📃3. os.name 得到你正在使用的工作平台

"""
os.name 会输出你正在使用的工作平台。
比如对于Windows,它是'nt',
而对于Linux/Unix用户,它是'posix'。
"""
print(os.name)

Windows执行结果:

nt

Liunx/Unix执行结果:

posix

📃4. os.getcwd() 得到当前执行文件的工作目录

"""
os.getcwd() 会得到当前执行文件的工作目录。
"""
print(os.getcwd())

执行结果:

例如执行文件在 C:\Users\Administrator\Desktop\test.py, 那最终输出为:
C:\Users\Administrator\Desktop

📃5. os.getenv(key) 读取环境变量

"""
os.getenv(key) 用来读取环境变量。
"""
print(os.getenv("PATH"))

执行结果:

为你本机配置的key为PATH的 Vaule 值 

📃6. os.putenv(key, value) 设置或更新环境变量

"""
os.putenv(key, value) 用来设置或更新环境变量。
"""
os.putenv("PATH", "F:/my_project/go/bin")

所以putenv() 是设置 而 getenv() 是读取

📃7. os.listdir(path) 返回指定目录下的所有文件和目录名

"""
os.listdir(path) 返回指定目录下的所有文件和目录名,结果为 []
"""
print(os.listdir("C:/Users/Administrator/Desktop"))

例如Desktop 存在 一个 a.txt 与 test文件夹, 执行结果为:

["test", "a.txt"]

📃8. os.remove() 删除一个文件

"""
os.remove() 删除一个文件, 没有这个文件 系统返回 FileNotFoundError 错误
"""
os.remove('C:/Users/Administrator/Desktop/a.txt')

📃9. os.stat(fileName) 获得文件属性

"""
os.stat(file) 获得文件属性
"""
file_info = os.stat("C:/Users/Administrator/Desktop/a.txt")
print("索引号:", file_info.st_ino)
print("被连接数目:", file_info.st_dev)
print("文件大小:", file_info.st_size, "字节")
print("最后一次访问时间戳:", file_info.st_atime)
print("最后一次修改时间戳:", file_info.st_mtime)
print("最后一次状态变化的时间戳:", file_info.st_ctime)

执行结果:

索引号: 12103423998866051
被连接数目: 2419826495
文件大小: 2507 字节
最后一次访问时间戳: 1651813508.601222
最后一次修改时间戳: 1651632763.7396147
最后一次状态变化的时间戳: 1650357211.3600857

📃10. os.mkdir(name) 创建目录

"""
os.mkdir(name) 创建目录 若文件目录已存在会抛出FileExistsError异常
"""

os.mkdir("C:/Users/Administrator/Desktop/test")

📃11. os.rmdir(name) 删除目录

"""
os.rmdir(name) 删除目录 
若文件目录不存在会抛出FileNotFoundError异常,
若文件目录存在但内存在文件会抛出OSError异常,
"""

os.rmdir("C:/Users/Administrator/Desktop/abc")

📃12. os.removedirs(path) 用于递归删除目录

"""
os.removedirs(path) 方法用于递归删除目录, 若子文件夹刪除成功, 则尝试删除父级文件件, 直到抛出erorr(文件夹内存在文件时,则停止删除)
"""
os.removedirs("C:/Users/Administrator/Desktop/abc")

📃13. os.system() 运行shell命令

"""
os.system() 运行shell命令
"""
os.system("calc")  # 调用系统计算器
os.system("cmd")  # 调用系统cmd命令行
os.system("mstsc")  # 调用远程桌面连接
os.system("mspaint")  # 调用画图功能

📃14. os.exit() 退出进程操作

"""
os.exit() 退出进程操作, 不抛异常, 不执行相关清理工作,其后的代码都不执行, 一般用作子进程退出使用

"""

os.exit()

📃15. os.linesep 输出当前操作系统的行终止符

"""
os.linesep 输出当前操作系统的行终止符Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
"""
print(os.linesep)

Windows执行结果:

'\r\n'

Liunx执行结果:

'\n'

Mac使用执行结果:

'\r'

📃16. os.path.split() 返回一个路径的目录名和文件名

"""
os.path.split() 返回一个路径的目录名和文件名 ('C:\\Users\\Administrator\\Desktop', 'a.txt')
"""
print(os.path.split(r"C:\Users\Administrator\Desktop\a.txt"))
"""

执行结果:

('C:\\Users\\Administrator\\Desktop', 'a.txt')

📃17. os.path.isfile(path) 检验给出的路径是否是一个文件路径

 检验给出的路径是一个文件路径 为真 返回 True
 print(os.path.isfile(r"C:\Users\Administrator\Desktop\\a.txt"))

📃18. os.path.isdir(path) 检验给出的路径是否是一个目录路径

os.path.isdir() 检验给出的路径是一个目录路径 为真 返回 True
"""

print(os.path.isdir(r"C:\Users\Administrator\Desktop"))

📃19. os.path.existe(path) 检验给出的路径是否真的存在

"""
os.path.existe(path) 检验给出的路径是否真的存在  为真 返回 True
"""
print(os.path.exists(r"C:\Users\Administrator\Desktop"))

📃20. os.curdir 返回当前目录(‘.’)

"""
os.curdir 返回当前目录('.')
"""
print(os.curdir)

📃21. os.path.getsize(path) 获取文件大小

"""

os.path.getsize(path) 获取文件大小
该文件无法访问或不存在时抛出OSError异常
"""
print(os.path.getsize(r"C:\Users\Administrator\Desktop\a.txt"))

执行结果:

246451 字节

📃22. os.path.abspath(path) 获得绝对路径

"""
os.path.abspath(path) 获得绝对路径
"""
print(os.path.abspath("a.txt"))

执行结果:

C:\Users\Administrator\Desktop\a.txt

📃23. os.path.isabs(path) 判断是否为绝对路径

"""
os.path.isabs(path) 判断是否为绝对路径 为真 则返回True
"""
print(os.path.isabs(r"C:\Users\Administrator\Desktop\a.txt")) #  判断是否为绝对路径

📃24. os.path.normpath(path) 规范path字符串形式

"""
os.path.normpath(path) 规范path字符串形式,
"""
print(os.path.normpath(r"C:\\Users\.\\Desktop\\\a.txt")) #  规范path字符串形式

执行结果:

C:\Users\Administrator\Desktop\a.txt

📃25. os.path.splitext(path) 分离文件名与扩展名称

"""
os.path.splitext(path) 分离文件名与扩展名称 
"""
print(os.path.splitext(" a.txt")) #  分离文件名和扩展名

执行结果 例如: a.txt 结果为:

("a", ".txt")

📃26. os.path.join(path,name) 连接目录与文件名或目录

"""
os.path.join(path,name)   连接目录与文件名或目录
"""
print(os.path.join("C:/Users/Administrator/", "a.txt"))

执行结果:

C:\Users\Administrator\Desktop\a.txt

📃27. os.path.basename(path) 返回当前文件名

"""
os.path.basename(path)   返回文件名
"""
print(os.path.basename(r"C:\Users\Administrator\Desktop\a.txt"))

执行结果:

a.txt

📃28. os.path.dirname(path) 返回文件路径

"""
os.path.dirname(path)    返回文件路径
"""
print(os.path.dirname(r"C:\Users\Administrator\Desktop\a.txt"))

执行结果:

C:\Users\Administrator\Desktop

总结

好了本期就到此结束了,希望对你们有帮助。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lonelypatients°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值