python中os库的函数使用
作者:YMWM_ 发布时间:2022-05-03 22:16:57
介绍
os模块是Python和操作系统进行交互的一个接口,它提供了许多操作文件及文件夹的函数。可以用于文件名、文件路径、文件夹相关的操作。
本博客记录python中os库的一些函数使用。
1 listdir(path: str)
listdir()
函数输入一个目录,返回该目录下的所有文件夹名称和文件名称。注意是名称而非路径。
举例,比如在路径D:\tmp
下有如下文件,
那么,os.listdir('D:\\tmp')
返回的内容为,
['文件1.txt', '文件2.txt', '文件3.txt', '文件夹1', '文件夹2', '文件夹3']
代码为,
import os
path = 'D:\\tmp'
files = os.listdir(path)
print(files)
2 path.isdir(path: str)
path.isdir()
函数返回布尔值,表示输入的路径是否为文件夹,如果是返回True
,否则返回False
。
举例,比如path.isdir('D:\\tmp\\文件夹1')
返回True
,而path.isdir('D:\\tmp\\文件1.txt')
返回False
。
代码如下,
import os
if os.path.isdir('D:\\tmp\\文件夹1') == True:
print('True')
if os.path.isdir('D:\\tmp\\文件1.txt') == False:
print('False')
输出为,
TrueFalse
3 path.isfile(path: str)
path.isfile()
函数返回布尔值,表示输入的路径是否为文件,如果是返回True
,否则返回False
。
举例,比如path.isfile('D:\\tmp\\文件夹1')
返回False
,而path.isdir('D:\\tmp\\文件1.txt')
返回True
。
代码如下,
import os
if os.path.isfile('D:\\tmp\\文件夹1') == False:
print('False')
if os.path.isfile('D:\\tmp\\文件1.txt') == True:
print('True')
输出为,
False
True
4 path.join(path: str, file: str)
path.join()
函数拼接两个路径,在windows下拼接符为\\
,因此path.join(path, file)
等价于path + '\\' + file
。但不同系统的拼接符是不一样的,因此使用path.join()
函数拼接两个路径会更鲁棒。
代码如下,
import os
path = 'D:\\tmp'
for file in os.listdir(path):
filename = file
filepath = os.path.join(path, filename)
print(f'filename = {filename}, filepath = {filepath}')
输出为,
filename = 文件1.txt, filepath = D:\tmp\文件1.txt
filename = 文件2.txt, filepath = D:\tmp\文件2.txt
filename = 文件3.txt, filepath = D:\tmp\文件3.txt
filename = 文件夹1, filepath = D:\tmp\文件夹1
filename = 文件夹2, filepath = D:\tmp\文件夹2
filename = 文件夹3, filepath = D:\tmp\文件夹3
5 path.getsize(path: str)
path.getsize()
函数返回输入文件的大小,单位是字节(Byte)。如果输入为文件夹的话,返回0。
举例,比如path.getsize('D:\\tmp\\文件夹1')
返回0,path.getsize('D:\\tmp\\文件1.txt')
返回文件1.txt的大小。
代码如下,
import os
size1 = os.path.getsize('D:\\tmp\\文件夹1')
size2 = os.path.getsize('D:\\tmp\\文件1.txt')
print(f'size1 = {size1}字节, size2 = {size2}字节')
输出为,
size1 = 0字节, size2 = 8字节
来源:https://blog.csdn.net/YMWM_/article/details/127541442
猜你喜欢
- 一、初始递归递归函数:在一个函数里在调用这个函数本身。递归的最大深度:998正如你们刚刚看到的,递归函数如果不受到外力的阻止会一直执行下去。
- 本例子实现从hbase获取数据,并发送kafka。使用#!/usr/bin/env python#coding=utf-8import sy
- 装了 Access 2003 安全更新 (KB981716) 之后 Access 打不开,office2003-KB981716-FullF
- vue页面的打印和下载PDF(加水印)vue项目页面的打印打印的不用说,调用 window.print() 的方法即可;注意点:如果用到背景
- 描述Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。语法strip()方法语法:str.strip([char
- 爬取 * 及测试是否可用很多人在爬虫时为了防止被封IP,所以就会去各大网站上查找免费的 * ,由于不是每个IP地址都是有效的,如果要进去
- 下文分步骤给大家介绍的非常详细,具体详情请看下文吧。一、准备用两台服务器做测试:Master Server: 192.0.0.1/Linux
- 情景一:不需要原有的数据库数据删除数据库所有的表删除项目的migration模块中的所有 文件,除了__init__.py 文件执行脚本py
- MYSQL对大小写敏感见字如面,见标题知内容。你有遇到过因为MYSQL对大小写敏感而被坑的体验吗?之前看过阿里巴巴Java开发手册,在MyS
- 本文实例讲述了JS小游戏的象棋暗棋源码,分享给大家供大家参考。具体如下:游戏运行后如下图所示:Javascript 部分:/** chine
- 如果你是个学生,你应该会C,C++和Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和
- yolov5的head修改为decouple headyolox的decoupled head结构本来想将yolov5的head修改为dec
- 经过测试发现mysql中用<>与!=都是可以的,但sqlserver中不识别!=,所以建议用<>selece * f
- 在自动化测试过程中,有时后会遇到元素定位方式没有问题,但是依旧抛出无法找到元素的异常的问题,通常情况下,如果元素定位没有问题,但还是无法找到
- <title>无标题文档</title> <script language="javascript&
- 1、git merge冲突了,根据提示找到冲突的文件,解决冲突如果文件有冲突,那么会有类似的标记2、修改完之后,执行git add 冲突文件
- 要选择有助于使查询执行更快的列,应遵循如下规则(这里,“BLOB 类型”应该理解为即包含B L O
- 所以呢,在引用js文档的时候,要设置被引用的文档是什么编码的。 如:一个utf-8的页面引用一个gb2312的js文档,那么就要这么写 &l
- 今天遇到这个问题,上网查到以下解决方法:1.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理磁盘,腾出空间
- 前言福宝们,下午好啊。改版后的第4.5章阅读量有点少呀,不知道是不是拖更了一天的缘故。呜呜呜,以后一定要做个不拖更的好熊,所以今天继续爆肝第