python中os库用法详解(总结)
os库主要是对文件和文件夹进行操作,在Python中对⽂件和⽂件夹的操作要借助os模块⾥⾯的相关功能。
具体步骤如下:
1. 导⼊os模块
import os
2. 使⽤ os 模块相关功能
os.函数名()
1、⽂件重命名
os.rename(⽬标⽂件名, 新⽂件名)
示例代码:
import osa = os.getcwd()
print(a)
print(os.listdir())
os.rename('./test_folder', './new_folder')
print(os.listdir())
运行结果;
2、删除⽂件
os.remove(⽬标⽂件名)
示例代码:
import osa = os.getcwd()
print(a)
print(os.listdir())
os.remove('./text.txt')
print(os.listdir())
运行结果:
3、创建⽂件夹
os.mkdir(⽂件夹名字)
示例代码:
import osa = os.getcwd()
print(a)
print(os.listdir())
os.mkdir('./test_folder')
print(os.listdir())
运行结果:
4、删除⽂件夹
os.rmdir(⽂件夹名字)
示例代码:
import osa = os.getcwd()
print(a)
print(os.listdir())
os.rmdir('./test_folder')
print(os.listdir())
运行结果:
5、获取当前⽬录
os.getcwd()
示例代码:
import osprint(os.getcwd())
运行结果:
6、改变默认⽬录
os.chdir(⽬录)
7、获取⽬录列表
os.listdir(⽬录)
示例代码:
import osprint(os.listdir())
运行结果:
8、返回路径的上一级路径字符串
os.path.driname(path)
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.dirname('./aa/python_test'))
print(os.path.dirname('./python_test'))
print(os.path.dirname(a))
运行结果:
9、返回路径的最后一级目录名(文件夹名)或文件名(全称)
os.path.basename(path)
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.basename(a))
print(os.path.basename('./aa/python_test'))
print(os.path.basename('./python_test'))
运行结果:
10、返回文件名和其后缀组成的元组
os.path.splitext(file_name)
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.splitext(a))
print(os.path.splitext('./aa/python_test'))
print(os.path.splitext('./python_test'))
print(os.path.splitext('./python_test.python'))
运行结果:
11、获取当前文件的绝对位置
os.path.abspath(__file__)
示例代码:
import oscurrent_path = os.path.abspath(__file__)
print(current_path)current_folder = os.path.dirname(current_path)
print(current_folder)
运行结果:
12、返回当前工作目录的路径加上string组成的路径字符串
os.path.abspath(string)
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.abspath(a))
print(os.path.abspath('./aa/python_test'))
print(os.path.abspath('./python_test'))
print(os.path.abspath('./python_test.python'))
运行结果:
13、判断一个路径是否是一个目录(文件夹)
os.path.isdir(path)
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.isdir(a))
print(os.path.isdir('./aa/python_test'))
print(os.path.isdir('../111'))
print(os.path.isdir('./python_test.python'))
运行结果:
14、判断一个路径是否是一个文件
os.path.isfile(path)
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.isfile(a))
print(os.path.isfile('./aa/python_test'))
print(os.path.isfile('../111'))
print(os.path.isfile('./python_test.py'))print(os.listdir())
运行结果:
15、以列表的形式返回一个目录(dir_path只能是目录,不能是文件名路径)下的所有文件(全称)和文件夹名称
os.listdir(dir_path)
示例代码:
import osa = os.getcwd()
print(a)
print(os.listdir())
print(os.listdir('E:/代码/111'))
print(os.listdir('E:/代码/111/css'))
运行结果:
16、删除指定空目录(空文件夹)
os.removedirs(dir_path)
示例代码1:
import osa = os.getcwd()
print(a)
print(os.listdir())
os.removedirs('./new_folder')
print(os.listdir())
运行结果:
示例代码2: 【必须是空文件夹】
import osa = os.getcwd()
print(a)
print(os.listdir())
os.removedirs('./new_folder')
print(os.listdir())
运行结果:
17、判断一个路径是否存在
os.path.exists(path)
示例代码:
import osa = os.getcwd()
print(a)
if os.path.exists(a):print('path exist!')
else:print('path not exist!')if os.path.exists('E:/代码/111'):print('path exist!')
else:print('path not exist!')if os.path.exists('E:/代码/111/new_path'):print('path exist!')
else:print('path not exist!')
运行结果:
18、返回path的真实路径
os.path.realpath(path)
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.realpath('./python_test.py'))
运行结果:
19、路径拼接
os.path.join(path,name)
示例代码1:
import osa = os.getcwd()
print(a)
b = os.path.join(a, 'works')
print(b)
运行结果:
示例代码2:
import osprint(os.path.join('xx', 'yy', 'zz'))
print(os.path.join('AA', 'BB', 'CC', 'DD'))
运行结果:
20、返回一个路径的目录名和文件名
os.path.split()
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.split(a))
print(os.path.split('E:/代码/111/index.html'))
运行结果:
21、获得文件属性
os.stat(file)
示例代码:
import osa = os.getcwd()
print(a)
print(os.stat(a))
print(os.stat('E:/代码/111/index.html'))
运行结果:
22、获得文件大小
os.path.getsize(name)
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.getsize(a))
print(os.path.getsize('E:/代码/111/index.html'))
运行结果:
23、判断是否为绝对路径
os.path.isabs()
示例代码:
import osa = os.getcwd()
print(a)
print(os.path.isabs(a))
print(os.path.isabs('E:/代码/111/index.html'))
print(os.path.isabs('./index.html'))
运行结果:
24、获取环境变量中的值
使用os获取环境变量的值,通常是使用os.getenv("value"),也可以使用os.environ.get("value")。也能够直接在settings等文件中设置环境变量,使用os.environ["key"] = "value"。
详解博文:python获取环境变量中的值(Pycharm)_IT之一小佬的博客-CSDN博客
25、随机生成n个字节的字符串
os.urandom(n)的作用就是随机生成n个字节的字符串,可以作为随机加密的key使用。
示例代码1:
import osaa = os.urandom(6)
print(aa)bb = aa.decode('utf-8', 'ignore')
print(bb)
运行结果:
示例代码2:
import osfor _ in range(5):print(os.urandom(6))
运行结果:
26、文件和文件夹操作应⽤案例
需求:批量修改⽂件名,既可添加指定字符串,⼜能删除指定字符串。
步骤
1. 设置添加删除字符串的的标识
2. 获取指定⽬录的所有⽂件
3. 将原有⽂件名添加/删除指定字符串,构造新名字
4. os.rename()重命名
示例代码1:
import os# 获取指定⽬录
dir_name = './'
# 获取指定⽬录的⽂件列表
file_list = os.listdir(dir_name)
print(file_list)
运行结果:
示例代码2: 【把flag=1改为flag=2即为删除功能】
import os# 设置重命名标识:如果为1则添加指定字符,flag取值为2则删除指定字符
flag = 1
# 获取指定⽬录
dir_name = './'
# 获取指定⽬录的⽂件列表
file_list = os.listdir(dir_name)
print(file_list)# 遍历⽂件列表内的⽂件
for name in file_list:# 添加指定字符if flag == 1:new_name = 'Python-' + name# 删除指定字符elif flag == 2:num = len('Python-')new_name = name[num:]# 打印新⽂件名,测试程序正确性print(new_name)# 重命名os.rename(dir_name + name, dir_name + new_name)
运行结果:
python中os库用法详解(总结)相关推荐
- python中dns库用法详解(DNS处理模块)
dnspython是python 实现的一个dns场景的工具包. dnspython(http://www.dnspython.org/)是Python实现的一个DNS工具包,它支持几乎所有的记录类型 ...
- python中flask_caching库用法详解(缓存)
为了尽量减少缓存穿透,并同时减少web的响应时间,可以针对那些需要一定时间才能获取结果的函数和那些不需要频繁更新的视图函数提供缓存服务,可以在一定的时间内直接返回结果而不是每次都需要计算或者从数据库中 ...
- python中gzip库用法详解(压缩和解压缩)
1.使用gzip创建一个文件: 示例代码: import gzip# 创建一个gzip文件 content = "Hello world!" f = gzip.open('file ...
- python中openpyxl库用法详解
openpyxl模块是一个读写Excel 文档的Python库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档. openpyxl.load_workbook(地址) - 打开 ...
- python中cpca库用法详解(从文本中提取省市区)
一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块. 首先安装cpca库: pip install cpca Github: GitHub - DQinYuan/c ...
- python中IPy库用法详解
使用python遍历所有的ip,可以借助第三方库IPy来获取所有的ip. 安装IPy库: pip install IPy 1.遍历IP网段中所有IP并打印个数 示例代码1: import IPydef ...
- python中ipaddress库用法详解
ipaddress库提供了处理IPv4与IPv6网络地址的类.这些类支持验证,查找网络上的地址和主机,以及其他常见的操作. 示例代码1: import ipaddressx = ipaddress.i ...
- python中ipaddr库用法详解
首先安装ipaddr库 pip install ipaddr 判断一个IP地址是否在某个网段内: import ipaddrip = ipaddr.IPv4Address("192.168. ...
- python中zlib库用法详解(压缩与解压缩)
zlib主要用于压缩与解压缩 字符串:使用zlib.compress可以压缩字符串.使用zlib.decompress可以解压字符串. 数据流:压缩:compressobj,解压:decompress ...
最新文章
- Prodigal:原核基因识别和翻译起始位点鉴定
- Linux_用户权限管理
- 打算尝试瑜伽,看是否能解决长期困扰的胃痛问题
- Ant基础介绍(转载)
- arm linux gcc fpic,【待整理】Gcc中编译和链接选项 -fpic -fPIC -fpie -fPIE -pie的含义
- 武忠祥.高等数学.基础课-第一章函数 极限 连续P10
- 函数指针及其的运用(上)——何为函数指针
- 520特辑丨码神VS爱神:盘点程序员的四大男友力,你偏爱哪一种?
- STM8S003单片机串口通信通信协议分析
- Scala: 简介和安装
- java 启动顺序_java语句执行顺序
- 拓端tecdat|R语言中GLM(广义线性模型),非线性和异方差可视化分析
- go程序设计语言学习 popCount
- Android实现 广告识别之 广告库
- 苹果悬浮球_手机轻松实现多个系统!安卓手机运行苹果iOS系统?期待!
- [源码解读]position_estimator_inav_main解读(如何启动光流)
- FS4054单节锂电池充电管理芯片,IC电路图
- 交付管理——怎样写用户手册
- Android广播静态注册失效
- Hbuilder X自定义安装微信开发工具无法启动
热门文章
- win10 休眠唤醒 电源_win10电脑休眠后无法唤醒解决方法(图文)
- 叮咚~您有一份个税申报,请查收!
- 非期望产出的sbm模型_兼顾非期望产出的工业用地效率测度、分异与溯因 ——以东北三省为例...
- Echarts使用map3D+visualMap 实现地图下钻,区域高亮状态下变高
- Java语言写点餐系统
- 软件测试丨Git分支管理实操,搞定在线合并和本地合并
- 有趣的二进制算法小魔术
- 迷你MVVM框架 avalonjs 入门教程(司徒正美)
- PHP项目开发案例全程实录pdf
- V-REP 建立简洁模型教程