python应用-os库操作目录

python自带的os模块提供了许多与操作系统交互的函数,适配多种操作系统,比如windows,mac,linux等,比如常用路径操作、进程管理、环境参数等都可通过os模块实现。

以下是自带的os.py中的前面一部分代码。

  • 第一个红框中主要说明如下:

—— os.name为'posix'或'nt'

—— os.curdir是一个表示当前目录的字符串(总是'.')

—— os.pardir是一个表示父目录的字符串(总是'..')

—— os.sep是路径分隔符('/'或'\\')

—— os.extsep是扩展分隔符(总是'.')

—— os.altsep是备用路径名分隔符(None或'/')

—— os.pathsep是$PATH等中使用的组件分隔符

—— os.linesep是文本文件中的行分隔符('\r'或'\n'或'\r\n')

—— os.defpath为可执行文件的默认搜索路径

—— os.devnull为空设备的文件路径('/dev/null'等)

其中os.name意味着操作系统类型,'posix'指的是类Unix操作系统,如Linux和Mac OS,而'nt'则指的是Windows。

  • 第二个红框是当通过from os import *导入时只导入__all__中包括的功能。

目录操作

os.getcwd()获取当前程序文件所在目录

print(os.getcwd())

os.mkdir()创建目录

用于新建文件夹,当文件夹存在时会报错,而且不能创建多层目录

在mac桌面上创建目录1,执行成功

os.mkdir('/Users/htsc/Desktop/dir1')

但如果想创建多层目录,比如在dir1下接着创建dir2,然后在dir2下创建dir3,此时会报错。

os.mkdir('/Users/htsc/Desktop/dir1/dir2/dir3')

os.makedirs()创建多层目录

用于新建文件夹,当文件夹存在时会报错,能创建多层目录

os.makedirs('/Users/htsc/Desktop/dir1/dir2/dir3')

os.rmdir()删除空目录

以下执行会删除最后一层dir3目录,但是dir3目录如果不为空,则会报错。

os.rmdir('/Users/htsc/Desktop/dir1/dir2/dir3')

os.removedirs()递归删除多层空目录

以下执行会依次删除dir3/dir2/dir1目录,但是某个目录如果不为空,则会报错。

os.removedirs('/Users/htsc/Desktop/dir1/dir2/dir3')

如果想删除非空目录,可以使用shutil.rmtree()函数

import shutil
shutil.rmtree("/Users/htsc/Desktop/dir1/dir2/dir3'")

os.chdir()改变当前目录。

print(os.getcwd())
os.chdir("/Users/htsc")
print(os.getcwd())
结果:当前目录被修改
/Users/htsc/Desktop
/Users/htsc

os.rename(src, dst):重命名一个目录或文件。

os.rename('/Users/htsc/Desktop/dir1/dir2','/Users/htsc/Desktop/dir1/dir4')

os.listdir(path):列出指定目录下的所有文件和子目录。

print(os.listdir(path='/Users/htsc/Desktop'))

os.stat(path):获取文件或目录的状态。

print(os.stat('/Users/htsc/Desktop'))
打印结果:
os.stat_result(st_mode=16832, st_ino=245263, st_dev=16777234, st_nlink=15, st_uid=501, st_gid=20, st_size=480,st_atime=1713104547, st_mtime=1713104547, st_ctime=1713104547)

os.walk(path):递归地查找文件夹树,yield每个文件夹路径,所有的子文件夹名和所有的文件名。(返回一个生成器)

for path,sub_folder_names,file_names in os.walk('/Users/htsc/Desktop/dir1'):print(path)print(sub_folder_names)print(file_names)

文件夹如果比较复杂打印看上去会很乱,大家可以依次打印或者找一个小层级的目录试下。

共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能成就难能的功劳。

----感谢读者的阅读和学习,谢谢大家。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kibana源码编译

一、安装nodejs16.14.2及yarn (一)nodejs 1、下载 https://cdn.npmmirror.com/binaries/node/v16.14.2/node-v16.14.2-linux-x64.tar.gz2、解压 tar -zxf node-v16.14.2-linux-x64.tar.gz -C /app cd /app mv node-v16.14.2-linux-x64 node3、配置环…

bugku-web-decrypt

这里的提示解密后没有什么意义 这里下载文件包 得到一个index.php文件 得到代码 <?php function encrypt($data,$key) {$key md5(ISCC);$x 0;$len strlen($data);$klen strlen($key);for ($i0; $i < $len; $i) { if ($x $klen){$x 0;}$char . $key[$x];$x1;}for…

UI设计/交互设计/视觉设计项目汇报/作品集Figma/PPT模板

作为UI设计/交互设计/视觉设计师&#xff0c;创建作品集对于向潜在客户或雇主展示您的技能、创造力和风格至关重要。以下分步指南可帮助您创建令人印象深刻的作品集&#xff1a; 选择您的最佳作品&#xff1a;选择您最强大且最相关的设计项目&#xff0c;将其纳入您的作品集。…

stm32移植嵌入式数据库FlashDB

本次实验的程序链接stm32f103FlashDB嵌入式数据库程序资源-CSDN文库 一、介绍 FlashDB 是一款超轻量级的嵌入式数据库&#xff0c;专注于提供嵌入式产品的数据存储方案。与传统的基于文件系统的数据库不同&#xff0c;FlashDB 结合了 Flash 的特性&#xff0c;具有较强的性能…

codeforce #925 (div3) 题解

D. Divisible Pairs 给出数组 a a a&#xff0c;如果二元组 ( i , j ) (i,j) (i,j)满足 a i a j m o d x 0 & & a i − a j m o d y 0 a_i a_j mod x 0 \&\& a_i - a_j mod y 0 ai​aj​modx0&&ai​−aj​mody0&#xff0c;则beauty。其中 i &…

HarmonyOS鸿蒙端云一体化开发--适合小白体制

端云一体化 什么是“端”&#xff0c;什么是“云”&#xff1f; 答&#xff1a;“端“&#xff1a;手机APP端 “云”:后端服务端 什么是端云一体化&#xff1f; 端云一体化开发支持开发者在 DevEco Studio 内使用一种语言同时完成 HarmonyOS 应用的端侧与云侧开发。 …

《经典论文阅读1》YouTubeDNN—基于深度学习的搜推系统开山之作

论文链接&#xff1a; https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/45530.pdf全文由『说文科技』原创出品。版权所有&#xff0c;翻版必究。 这篇发表于2016年九月的文章&#xff0c;在搜索推荐仍然基于矩阵分解的时代&#xff0c;抛…

python基础——类型注解【变量,函数,Union】

&#x1f4dd;前言&#xff1a; 上一篇文章Python基础——面相对象的三大特征提到&#xff0c;python中的多态&#xff0c;python中&#xff0c;类型是动态的&#xff0c;这意味着我们不需要在声明变量时指定其类型。然而&#xff0c;这可能导致运行时错误&#xff0c;因为我们…

【数据结构】泛型(分享重点)

什么是泛型&#xff1f; 泛型就是适用于许多许多类型&#xff0c;对类型参数化。 怎么创建一个泛型呢 class 泛型类名称<类型形参列表> { // 这里可以使用类型参数 } class ClassName<T1, T2, ..., Tn> { } class 泛型类名称<类型形参列表> extends 继承类…

2024HW --> 安全产品 Powershell无文件落地攻击

在HW中&#xff0c;除了了解中间件&#xff0c;web漏洞&#xff0c;这些攻击的手法&#xff0c;还得了解应急响应&#xff0c;安全产品&#xff0c;入侵排查&#xff0c;溯源反制...... 那么今天&#xff0c;就来说一下安全产品&#xff08;安全公司我就不说了&#xff0c;这个…

自动化收集Unity版本更新日志

自动化收集Unity版本更新日志 &#x1f365;功能介绍&#x1f96a;食用手册填写配置开始搜集 &#x1f368;数据展示 &#x1f365;功能介绍 &#x1f4a1;获取指定年份中所有的Unity版本更新日志。 &#x1f4a1;根据指定字符串过滤。 &#x1f4a1;.收集后自动保存成markdow…

Niobe开发板OpenHarmony内核编程开发——定时器

本示例将演示如何在Niobe Wifi IoT开发板上使用cmsis 2.0 接口进行定时器开发 Timer API分析 osTimerNew() /// Create and Initialize a timer./// \param[in] func function pointer to callback function./// \param[in] type \ref osTimerOnce …

Kafka 架构深入探索

目录 一、Kafka 工作流程及文件存储机制 二、数据可靠性保证 三 、数据一致性问题 3.1follower 故障 3.2leader 故障 四、ack 应答机制 五、部署FilebeatKafkaELK 5.1环境准备 5.2部署ELK 5.2.1部署 Elasticsearch 软件 5.2.1.1修改elasticsearch主配置文件 5.2…

事务隔离级别的无锁实现方式 -- MVCC

MVCC的全称是Multiversion Concurrency Control(多版本并发控制器)&#xff0c;是一种事务隔离级别的无锁的实现方式&#xff0c;用于提高事务的并发性能&#xff0c;即事务隔离级别的一种底层实现方式。 在了解MVCC之前&#xff0c;我们先来回顾一些简单的知识点&#xff1a;…

终端工具命令行颜色配置(解决终端工具连上服务器之后,无颜色问题)

本期主题&#xff1a; 讲解使用mobaxterm等终端工具连上服务器&#xff0c;但是命令行没有颜色的问题 目录 1. 问题描述2. 原因解释3.测试 1. 问题描述 使用终端工具&#xff08;Mobaxterm等&#xff09;连上服务器之后&#xff0c;发现终端工具没有颜色&#xff0c;如下图&am…

API接口京东开放平台item_get-获得京东商品详情API接口根据商品ID查询商品标题价格描述等详情数据

京东商品详情API接口可以提供以下方面的信息&#xff1a; 商品基础信息&#xff1a;包括商品的标题、价格、描述、图片等基本信息&#xff0c;这是构建电商平台的基础数据。商品分类信息&#xff1a;帮助用户更好地了解商品所属的类别&#xff0c;便于商品筛选和查找。商品销售…

RK3568平台 驱动实现IIC设备读取十六位寄存器状态

一.项目需求 要求读取GVS2715这个IIC设置寄存器的值来获取版本号&#xff0c;GVS2715这个芯片是十六位寄存器。 当使用i2ctool工具读取十六位寄存器的时候&#xff0c;发现无法读取出来&#xff0c;读取的都是XXXX。 二.从零开始写IIC设备驱动读取十六位寄存器的状态 #includ…

CentOS 7安装Zookeeper

说明&#xff1a;本文介绍如何在CentOS 7操作系统下使用Zookeeper 下载安装 首先&#xff0c;去官网下载所需要安装的版本&#xff0c;我这里下载3.4.9版本&#xff1b; 上传到云服务器上&#xff0c;解压 tar -xvf zookeeper-3.4.9.tar.gz修改配置 进入Zookeeper目录下的co…

Spark-机器学习(1)什么是机器学习与MLlib算法库的认识

从这一系列开始&#xff0c;我会带着大家一起了解我们的机器学习&#xff0c;了解我们spark机器学习中的MLIib算法库&#xff0c;知道它大概的模型&#xff0c;熟悉并认识它。同时&#xff0c;本篇文章为个人spark免费专栏的系列文章&#xff0c;有兴趣的可以收藏关注一下&…

前端标记语言HTML

HTML&#xff08;HyperText Markup Language&#xff09;是一种用于创建网页的标准标记语言。它是构建和设计网页及应用的基础&#xff0c;通过定义各种元素和属性&#xff0c;HTML使得开发者能够组织和格式化文本、图像、链接等内容。 HTML的基本结构 文档类型声明&#xff0…