python模块 - os系统交互模块

目录

前言:

​编辑

一、os.path模块

1、获取文件路径信息

[os.path.abspath(): 获取绝对路径](#os.path.abspath(): 获取绝对路径)

[os.path.dirname(): 获取目录名](#os.path.dirname(): 获取目录名)

[os.path.basename(): 获取文件名](#os.path.basename(): 获取文件名)

[os.path.split(): 分割目录和文件名](#os.path.split(): 分割目录和文件名)

[os.path.join(): 拼接路径](#os.path.join(): 拼接路径)

2、判断路径信息

[os.path.exists(): 判断路径是否存在](#os.path.exists(): 判断路径是否存在)

[os.path.isfile(): 判断是否为文件](#os.path.isfile(): 判断是否为文件)

[os.path.isdir(): 判断是否为目录](#os.path.isdir(): 判断是否为目录)

[os.path.islink(): 判断是否为符号链接](#os.path.islink(): 判断是否为符号链接)

3、获取文件属性

[os.path.getsize(): 获取文件大小](#os.path.getsize(): 获取文件大小)

[os.path.getmtime(): 获取最后修改时间](#os.path.getmtime(): 获取最后修改时间)

4、字符串处理

[os.path.splitext(): 分割文件名和扩展名](#os.path.splitext(): 分割文件名和扩展名)

二、os(不带path)模块

1、目录相关

os.getcwd():返回当前工作目录

os.listdir(path):返回path目录下所有文件列表

os.mkdir(path):创建path目录(只能创建一级目录)

os.makedirs(path):创建多级目录(递归创建)

os.rmdir(path):删除path目录(只能删除一级目录)

os.removedirs(path):删除多级目录(递归删除))

os.remove(path):删除文件(必须是文件)

2、更改路径

os.chdir(path):将当前工作目录更改为指定路径path

3、查看文件属性

os.stat(file):获取文件属性

os.chmod(file):修改文件权限与时间戳


前言:

本文记录博主开发python上位机时用到 os模块 中的函数,主要为了以后再次使用时能快速查阅。

说明:博主会根据对os模块 掌握情况持续更新

一、os.path模块


os.path模块提供了一系列用于处理文件路径和文件系统的函数

复制代码
import os.path    #导入os.path模块

1、获取文件路径信息


os.path.abspath(): 获取绝对路径

复制代码
absolute_path = os.path.abspath(__file__)    # 获取当前文件的绝对路径
print("当前文件的绝对路径:", absolute_path)

os.path.dirname(): 获取目录名

复制代码
directory_path = os.path.dirname(__file__)    # 获取当前文件所在目录的路径​
print("当前文件所在目录的路径:", directory_path)

os.path.basename(): 获取文件名

复制代码
file_name = os.path.basename(__file__)    # 获取当前文件的文件名
​print("当前文件的文件名:", file_name)

os.path.split(): 分割目录和文件名

复制代码
# 分割文件路径
path = "/path/to/somefile.txt"
directory, file_name = os.path.split(path)
​
print("目录:", directory)
print("文件名:", file_name)

os.path.join(): 拼接路径

复制代码
# 拼接路径
directory = "/path/to"
file_name = "somefile.txt"
path = os.path.join(directory, file_name)
​
print("拼接后的路径:", path)    # /path/to/somefile.txt

2、判断路径信息


os.path.exists(): 判断路径是否存在

复制代码
# 判断路径是否存在
path = "/path/to/somefile.txt"
if os.path.exists(path):
    print("路径存在")

os.path.isfile(): 判断是否为文件

复制代码
# 判断是否为文件
file_path = "/path/to/somefile.txt"
if os.path.isfile(file_path):
    print("路径是一个文件")

os.path.isdir(): 判断是否为目录

复制代码
# 判断是否为目录
directory_path = "/path/to"
if os.path.isdir(directory_path):
    print("路径是一个目录")

os.path.islink(): 判断是否为符号链接

复制代码
# 判断是否为符号链接
link_path = "/path/to/symlink"
if os.path.islink(link_path):
    print("路径是一个符号链接")

3、获取文件属性


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

复制代码
# 获取文件大小
file_path = "/path/to/somefile.txt"
size = os.path.getsize(file_path)

print("文件大小:", size, "字节")

os.path.getmtime(): 获取最后修改时间

复制代码
# 获取最后修改时间
file_path = "/path/to/somefile.txt"
mtime = os.path.getmtime(file_path)

# 将时间戳转换为日期时间格式
last_modified_time = datetime.datetime.fromtimestamp(mtime)

print("最后修改时间:", last_modified_time)

4、字符串处理


os.path.splitext(): 分割文件名和扩展名

复制代码
# 分割文件名和扩展名
file_path = "/path/to/somefile.txt"
file_name, extension = os.path.splitext(file_path)

print("文件名:", file_name)
print("扩展名:", extension)

二、os(不带path)模块


复制代码
import os    #导入os模块

1、目录相关


os.getcwd():返回当前工作目录

os.listdir(path):返回path目录下所有文件列表

os.mkdir(path):创建path目录(只能创建一级目录)

os.makedirs(path):创建多级目录(递归创建)

os.rmdir(path):删除path目录(只能删除一级目录)

删除目录 path,path必须是个空目录,否则抛出OSError异常。

复制代码
os.rmdir('./test')  # test是一个空的文件夹

os.removedirs(path):删除多级目录(递归删除)

递归地删除目录。要求每一级目录都为空,才能递归删除全部目录。子目录被成功删除,才删除父目录;如果子目录没有成功删除,将抛出OSError异常。

复制代码
#test2是test的子文件夹,如果test2不为空,则抛出异常;如果test2为空,test不为空,则test2删除成功,test不删除,但不报异常
os.removedirs('./test/test2)

os.remove(path):删除文件(必须是文件)

2、更改路径


os.chdir(path):将当前工作目录更改为指定路径path

3、查看文件属性


os.stat(file):获取文件属性

os.chmod(file):修改文件权限与时间戳


参考文章:

https://zhuanlan.zhihu.com/p/649758359

https://www.kancloud.cn/noahs/python/920961

相关推荐
iangyu4 分钟前
【windows server脚本每天从网络盘复制到本地】
开发语言·windows·php
程序员拂雨11 分钟前
Python知识框架
开发语言·python
灏瀚星空15 分钟前
地磁-惯性-视觉融合制导系统设计:现代空战导航的抗干扰解决方案
图像处理·人工智能·python·深度学习·算法·机器学习·信息与通信
泽020218 分钟前
C++类和对象之相关特性
java·开发语言·c++
Code_流苏20 分钟前
《Python星球日记》 第72天:问答系统与信息检索
python·微调·问答系统·bert·应用场景·基于检索·基于生成
敲键盘的小夜猫24 分钟前
深入理解Python逻辑判断、循环与推导式(附实战案例)
开发语言·python
Looooking44 分钟前
Python 之 selenium 打开浏览器指定端口进行接续操作
python·selenium
Dreams°1231 小时前
【Python爬虫 !!!!!!政府招投标数据爬虫项目--医疗实例项目文档(提供源码!!!)!!!学会Python爬虫轻松赚外快】
分布式·爬虫·python·mysql·scikit-learn
郜太素1 小时前
PyTorch 中神经网络相关要点(损失函数,学习率)及优化方法总结
人工智能·pytorch·python·深度学习·神经网络·学习
L_cl1 小时前
【Python 算法零基础 2.模拟 ④ 基于矩阵】
python·算法·矩阵