Python开发——os与os.path的使用

1. os的一般用法

        使用dir()列出库的属性与方法

# 使用dir()列出库的属性与方法
print(dir(os))

         使用os.getcwd()打印当前目录

# 使用os.getcwd()打印当前目录
print("当前目录为:"+os.getcwd())  # 打印表示当前工作目录的字符串

        获取指定路径下的目录和文件列表

# 获取指定路径下的目录和文件列表
root = r'/path/to/your/directory'  # 绝对路径
path = os.listdir(root)
print(path)

        创建目录

# 创建目录
os.makedirs(r'B\C', exist_ok=True)  # 方法1.利用makedirs()创建多级目录
os.mkdir(r'A')  # 方法2.利用mkdir()创建单级目录

         以当前目录作为相对目录的基准,在相对目录下的A中创建message.txt

# 以当前目录作为相对目录的基准,在相对目录下的A中创建message.txt
with open(r"A\message.txt", "w")as file:pass

        删除空目录

# 删除空目录
os.removedirs(r"B\C")  # 使用removedirs()递归删除目录。
# os.rmdir(r"B\C")  # 删除目录

        删除文件

# 删除文件
os.remove(r'A\message.txt')

        完全删除一个目录以及所有内容

# 完全删除一个目录以及所有内容
import shutildir_path = "/path/to/your/directory"  # 将此处的路径替换为你要删除的目录路径try:shutil.rmtree(dir_path)print("目录已成功删除。")
except OSError as e:print("删除目录时出错:", e)

2. os.path的用法

        使用os.path.abspath() 打印"A\message.txt"的绝对路径

# 使用os.path.abspath()打印"A\message.txt"的绝对路径
print("message.txt的绝对路径为:"+os.path.abspath(r"A\message.txt"))  # "A\message.txt"换为你的相对路径下的路径
print("运行文件的绝对路径为:"+os.path.abspath(__file__))  # 当前路径

        os.path.exists(path) 判断该路径或文件是否存在

# os.path.exists(path) 判断该路径或文件是否存在
print(os.path.exists(r'/path/to/your/directory'))
# 检查A\message.txt文件是否存在
print(os.path.exists(r'A\message.txt'))

        os.path.dirname() 方法用于从指定路径中获取目录名,返回上一级的目录

#  os.path.dirname() 方法用于从指定路径中获取目录名,返回上一级的目录# Path
path = r'\path\to\your\directory\A'
# 获取指定路径下的目录名
dirname = os.path.dirname(path)
# 打印目录名称
print(dirname)
# Path
path = r'\path\to\your\directory\A\message.txt'
# 获取指定路径下的目录名
dirname = os.path.dirname(path)
# 打印目录名称
print(dirname)

        os.path.join() 拼接路径

# os.path.join()拼接路径Path1 = 'home'
Path2 = 'develop'
Path3 = ''Path10 = Path1 + Path2 + Path3
Path20 = os.path.join(Path1, Path2, Path3)
Path30 = os.path.join(Path2, Path3, Path1)
print('Path10 = ', Path10)
print('Path20 = ', Path20)
print('Path30 = ', Path30)

3. 完整代码

        如下:

# -*- coding: utf-8 -*-
# @Time : 23/05/2024 09:47
# @Author : jin
# @File : ex1.py
# @Project : python exercises
# @Descriptioon :
# @path : \Users\ jin\add_yourpath\ python exercisesimport os# os的一般用法
# 使用dir()列出库的属性与方法
print(dir(os))# 使用os.getcwd()打印当前目录
print("当前目录为:"+os.getcwd())  # 打印表示当前工作目录的字符串# 获取指定路径下的目录和文件列表
root = r'/path/to/your/directory'  # 绝对路径
path = os.listdir(root)
print(path)# 创建目录
os.makedirs(r'B\C', exist_ok=True)  # 方法1.利用makedirs()创建多级目录
os.mkdir(r'A')  # 方法2.利用mkdir()创建单级目录# 以当前目录作为相对目录的基准,在相对目录下的A中创建message.txt
with open(r"A\message.txt", "w")as file:pass# 删除空目录
os.removedirs(r"B\C")  # 使用removedirs()递归删除目录。
# os.rmdir(r"B\C")  # 删除目录# 删除文件
os.remove(r'A\message.txt')# 完全删除一个目录以及所有内容
# import shutil
#
# dir_path = "/path/to/your/directory"  # 将此处的路径替换为你要删除的目录路径
#
# try:
#     shutil.rmtree(dir_path)
#     print("目录已成功删除。")
# except OSError as e:
#     print("删除目录时出错:", e)# 以当前目录作为相对目录的基准,在相对目录下的A中创建message.txt
with open(r"A\message.txt", "w"):pass
"""-----------------------------------------------------------------------"""# os.path的用法
# 使用os.path.abspath()打印"A\message.txt"的绝对路径
print("message.txt的绝对路径为:"+os.path.abspath(r"A\message.txt"))  # "A\message.txt"换为你的相对路径下的路径
print("运行文件的绝对路径为:"+os.path.abspath(__file__))  # 当前路径# os.path.exists(path) 判断该路径或文件是否存在
print(os.path.exists(r'/path/to/your/directory'))
# 检查A\message.txt文件是否存在
print(os.path.exists(r'A\message.txt'))#  os.path.dirname() 方法用于从指定路径中获取目录名# Path
path = r'\path\to\your\directory\A'# Get the directory name from the specified path
dirname = os.path.dirname(path)# Print the directory name
print(dirname)# Path
path = r'\path\to\your\directory\A\message.txt'# Get the directory name from the specified path
dirname = os.path.dirname(path)# Print the directory name
print(dirname)# os.path.join()拼接路径Path1 = 'home'
Path2 = 'develop'
Path3 = ''Path10 = Path1 + Path2 + Path3
Path20 = os.path.join(Path1, Path2, Path3)
Path30 = os.path.join(Path2, Path3, Path1)
print('Path10 = ', Path10)
print('Path20 = ', Path20)
print('Path30 = ', Path30)

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

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

相关文章

Java进阶学习笔记26——包装类

包装类: 包装类就是把基本类型的数据包装成对象。 看下API文档: deprecated:极力反对、不赞成的意思。 marked for removal:标识为去除的意思。 自动装箱:基本数据类型可以自动转换成包装类。 自动拆箱:…

前端怎么使用svg格式的图片

目录 第一步,找到图标 第二步,使用 第一种,SVG下载 第二种,粘贴SVG代码 第一步,找到图标 以阿里巴巴矢量图标库为例,随便找一个图标,如下图 第二步,使用 第一种,SV…

二维OTSU(二维大津法)matlab实现(复制粘贴即可)

二维OTSU(二维大津法),matlab实现,(复制粘贴即可),二维熵 我发现CSDN搜索故意屏蔽调免费、公开的代码,特别推荐的 都是收费,收币的代码或项目。我分享的都是开源的&…

AI开发工程师的学习路线

学习人工智能(AI)是一个广泛且深入的过程,涵盖了多个领域的知识和技能。以下是对AI学习路线的总结,旨在提供一个清晰的学习方向和步骤概览。 一、基础知识 数学基础:AI的核心是算法和数学模型,因此数学基础…

如何查看Linux kernel用哪个版本的gcc编译的?

查看内核是使用哪个版本的 GCC 编译的,可以使用 modinfo 命令来查看内核模块信息,其中包括使用的编译器版本。但请注意,并不是所有的内核模块都包含了这些信息。如果内核模块提供了,则你可以通过以下方式查看: modinf…

利用AI办公工具类API,大幅提高办公效率

AI办公工具类API是一项革命性的技术,利用人工智能的力量为办公场景提供了许多创新的解决方案。借助AI办公工具类API,用户可以实现自动化的文档处理、语音转文字、图像识别、数据分析等多种功能,大大提高了办公效率和工作质量。此外&#xff0…

突发!某大厂机房掉电,MySQL数据库无法启动,紧急恢复过程...

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…

正则表达式的匹配

正则表达式的语法总结 正则表达式的语法因不同的编程语言或工具而略有差异,但基本的结构和概念是相似的。下面是一个正则表达式的基本语法概述: 字符类 .:匹配除了换行符之外的任何单个字符。 [abc]:匹配方括号中的任何一个字符。例如,[aeiou] 匹配任何元音字母。 [^ab…

【算法】梦破碎之地---三数之和

相信大家都有做过两数之和, 题目链接: 15. 三数之和 - 力扣(LeetCode) 在文章的开始让我们回顾一下三数之和吧! 题目描述: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], …

Hololens2关闭软件自动校对人眼

原 因 :软件进入后总是提示需要校对人眼,对演示有很大的不方便,需要使用人进行处理。 处理效果:更换使用人员,不进行校对人眼。

mysql数据表名称区分大小写

mysql数据表名称区分大小写 MySQL数据库在Windows平台上的表名和列名默认不区分大小写,而在Linux上默认是区分大小写的。想在任何平台上都实现区分大小写的表名和列名,可以通过设置lower_case_table_names系统变量来完成。 lower_case_table_names系统变量的取值 这个变量…

【量算分析工具-获取高程】GeoServer改造Springboot番外系列八

【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客 【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客 【量算分析工具-方位角】GeoServer改造Springboot番外系列…

Ubuntu18 配置FFmpeg开发环境 (Vscode+CMake)

关于Vscode插件安装不再赘述,本文主要讲解如何配置FFmpeg的开发环境以及CMake文件写法,如果不知道该安装什么插件请看本文: Ubuntu配置Vscode 文章目录 1.安装FFmpeg开发包2.配置Vscode项目3.使用C语言验证FFmpeg版本 1.安装FFmpeg开发包 更新…

宝塔部署前后端分离项目手册

文章目录 安装宝塔安装环境开始部署1. 前端Vue项目1.先本地启动前端项目(记住端口号)2.打包前端项目3.上传前端项目4.创建PHP站点5.安全里开放端口号6.测试前端 2. 后端boot项目1. 先在本地跑起来2.修改数据库的配置信息3. 项目打包4. nohup启动项目4.1 …

聊天软件鼻祖 ICQ 将于 6 月 26 日关闭;40 光年外发现一颗潜在宜居的类地行星丨 RTE 开发者日报 Vol.212

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

Android签名()和key hashes获取方法

1.Android获取keystore.debug文件签名。 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android2.Android 获取.jks文件签名。 keytool -list -v -keystore /Users/fuzhenwen/AndroidStudioProjects/rab-ev-cha…

Vue3项目练习详细步骤(第一部分:项目构建,登录注册页面)

项目环境准备 工程创建 安装依赖 项目调整 注册功能 页面结构 接口文档 数据绑定和校验 数据接口调用 解决跨域问题 登录功能 接口文档 数据绑定和校验 数据接口调用 项目演示 项目的后端接口参考:https://blog.csdn.net/dafsq/category_12646722.html…

flutter使用dbus插件时,在终端无法使用“dart-dbus”命令

不用flutter的人,可能都不会找到这儿,遇到这个问题,所以这里默认flutter已经装过了,且对flutter如何使用插件也有所了解了。 由于我在项目中用到了dbus插件,用法如图所示,我需要使用这条命令来生成一个sou…

C语言---基础内容(万字)

C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯里奇在贝尔电话实验室设计开发了 C 语言。 C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程…

基于小波熵阈值的心电信号R波检测算法(MATLAB)

心脏兴奋电活动过程可由心电信号(ECG)来反映,心电信号也是医学上对心血管疾病诊断的重要科学依据。心电信号具有一定的随机性且一般情况下十分微弱,在信号采集、放大及变换过程中,心电信号容易受到人体呼吸及检测仪器等因素影响,从…