python中os库的使用

news2024/11/17 21:29:33

目录

  • 介绍
  • 1 listdir(path: str)
  • 2 path.isdir(path: str)
  • 3 path.isfile(path: str)
  • 4 path.join(path: str, file: str)
  • 5 path.getsize(path: str)

介绍

本博客记录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')

输出为,

True
False

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字节

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web前端 html+css+javascript游戏网页设计实例 (网页制作课作业)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

数字化浪潮下,低代码能否加速企业的数字化转型

随着加快建设数字中国的目标明确下来,市场上与数字化相关的企业都得到了极大鼓舞,这不仅意味着后续数字领域的加速发展,更是代表着数字化已经完全可以向各行各业拓展,大力推进数字化建设。数字中国也说明了数字化并不能只是限制在…

FastTunnel Win10内网穿透实现远程桌面

目录 一、需求 二、购买公网服务器 三、远程公网服务器 四、FastTunnel 的使用 1.下载 FastTunnel 2.启动服务器端 3.启动客户端 五、测试 六、安装服务 结束 一、需求 FastTunnel 简介 高性能跨平台内网穿透工具,使用它可以实现将内网服务暴露到公网供…

【数据结构与算法】时间复杂度和空间复杂度

✨ 个人主页:bit me ✨ 当前专栏:数据结构 🌟每日一语:窗外有风景 笔下有前途 低头是题海 抬头是鹏程 时间复杂度和空间复杂度的认知🌎 一. 如何衡量一个算法的好坏🌙 二. 算法效率🪐 三. 时间…

Word处理控件Aspose.Words功能演示:在 Python 中将 TXT 文件转换为 PDF

各种人使用记事本以TXT格式记下重点或快速创建笔记。此外,TXT 文件用于在各种应用程序中存储纯文本。但是,由于记事本不提供高级功能,因此 TXT 文件通常会转换为PDF。为了以编程方式自动将 TXT 转换为 PDF,本文介绍了如何在 Pytho…

WEB API 接口签名sign验证入门与实战

目录参考什么是加解密加密方式分类对称加密技术非对称加密技术(RSA加密算法)(数字证书)场景1:公钥加密,私钥解密场景2:秘钥加密:数字签名,公钥解密:验证签名M…

从位运算理解位图

位图是一种较难理解的数据结构,想了解位图,我需要先温习一下基础,复习下一些二进制的知识 位运算 1个字节8个二进制位 二进制每逢二进一,下面是二进制对应的十进制转换方式 二进制十进制0000 00012^010000 00102^120000 00112…

用户故事地图怎么用?实践才能出真知

在产品设计和交互过程中,用户体验是一个非常重要的部分。 随着产品的逐渐完善,主创团队也需要通过各个维度来了解用户需求,完善用户的整体体验。在这里,我们经常用到的一个实践是用户故事地图。 一、用户故事地图是什么&#xff…

【Linux】指令及权限管理的学习总结

文章目录1️⃣ Linux的文件系统结构简介2️⃣ Linux下的基本指令1. ls2. pwd3. cd4. touch5. mkdir6. rm7. rmdir8. cp9. mv10. cat11. more12. less13. head14. tail15. find16. grep17. zip18. unzip19. tar20. uname3️⃣ Linux下的权限权限管理1. 文件的访问者分类&#xf…

【C++】多态

1.多态 1.1多态的概念: 多态:就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。李明要吃饭,那就要吃早饭,午饭,晚饭,而不是一天只吃午饭这种单一…

Java多线程(4):ThreadLocal

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~ 为了提高CPU的利用率,工程师们创造了多线程。但是线程们说:要有光!(为了减少线程创建(T1启动&#xf…

Synchronized底层核心原理

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章是关于并发编程中Synchronized锁的底层核心原理知识记录,由于篇幅原因,下篇文章将介绍各种锁的优化原理。 本篇文章记录的基础知识&#x…

vue3 异步组件

前端开发经常遇到异步的问题&#xff0c;请求函数&#xff0c;链接库&#xff0c;等&#xff0c;都有可能需要通过promise或者async await 来进行异步的一个封装。 异步组件也由此诞生&#xff0c;我用settimeout来模拟一个vue3的异步组件 异步的子组件 <template><…

spring框架源码十三、spring ioc高级特性-后置处理器

spring ioc高级特性-后置处理器BeanPostProcessor实例MyBeanPostProcessorapplication-context.xmlTestServiceImpl测试BeanFactoryPostProcessorspring提供了两种后置处理bean的扩展接口&#xff0c; 分别为BeanPostProcessor和BeanFactoryPostProcessor&#xff0c; BeanPos…

攻防世界WEB练习 | easyphp

目录 题目场景 代码分析 找到flag 题目场景 代码分析 if(isset($a) && intval($a) > 6000000 && strlen($a) < 3) isset&#xff1a;检查变量是否设置 intval&#xff1a;检查变量是否为int型 strlen&#xff1a;检查变量的长度 要求a存在且大于6…

Matlab之多平台雷达检测融合仿真(附源码)

此示例演示如何融合来自多平台雷达网络的雷达检测。该网络包括两个机载和一个地面远程雷达平台。中央跟踪器以固定的更新间隔处理来自所有平台的检测。这能够根据目标类型、平台机动以及平台配置和位置评估网络的性能。 一、定义中央跟踪器 将trackerGNN用作中央跟踪器&#…

云原生时代下,如何打造开源监控体系?宏时数据在GOPS与你相聚

相聚上海 宏时数据受邀出席2022 GOPS全球运维大会上海站&#xff0c;将分享演讲&#xff01; 时间&#xff1a;2022年10月28日15:20-15:40 AIOps最佳实践及解决方案专场 同时展位在301&#xff0c;现场有丰富礼品&#xff0c;快来做任务夺宝&#xff01; 还有Zabbix高级认…

【CSDN开发云】光速认识Cloud IDE

⌚️⌚️⌚️个人格言&#xff1a;时间是亳不留情的&#xff0c;它真使人在自己制造的镜子里照见自己的真相! &#x1f4d6;Git专栏&#xff1a;&#x1f4d1;Git篇&#x1f525;&#x1f525;&#x1f525; &#x1f449;&#x1f449;&#x1f449;你的一键三连是对我的最大支…

10.26 要尝试让自己安静下来,去做该做的事 而不是让内心烦躁,焦虑,毁掉你本就不多的热情和定力

要尝试让自己安静下来&#xff0c;去做该做的事 而不是让内心烦躁&#xff0c;焦虑&#xff0c;毁掉你本就不多的热情和定力 复习 import torch import torch.nn as nn import math from torch.autograd import Variable# 定义embedding类来实现文本嵌入层&#xff0c;这里的s…

C++多态详解及代码示例

多态 一、基本定义 顾名思义&#xff0c;多种形态。多态是C面向对象的三大特性之一&#xff08;封装、继承和多态&#xff09;。 多态分为两种&#xff1a; 静态多态&#xff1a;函数的重载、运算符的重载动态多态&#xff1a;派生类和虚函数实现运行时多态 区别&#xff…