程序猿大战Python——文件操作、异常、模块——os模块

查看目录

==目标:==了解查看目录的使用。

Python中的os模块包含有操作系统所具备的功能,如查看路径、创建目录、显示文件列表等。

os模块是Python标准库,可直接导入使用:

# 导入os模块
import os

在Python中,os模块的常用函数分为两类:

(a)通过os.path调用的函数

(b)通过os直接调用的函数

在Python的os模块中,通过os.path常用函数:

函数名含义
exists(pathname)用来检验给出的路径是否存在。
isfile(pathname)用来检验给出的路径是否是一个文件。
isdir(pathname)用来检验给出的路径是否是一个目录。
abspath(pathname)获得绝对路径。
join(pathname,name)连接目录与文件名或目录。
basename(pathname)返回单独的文件名。
dirname(pathname)返回文件路径。

说明:

上述常用函数需要使用os.path来进行调用。

例如,使用os模块来完成:

(1)在某目录下手动新建day05/file目录与day05/file/hello.txt文件;

(2)判断file/hello.txt是否存在、是否是文件、是否是目录、获取绝对路径名、获取单独的文件名;

(3)执行程序,观察效果。

# 定义路径
# E:\PythonSource\Source202306_sz\pycode1\day05\data\file\hello.txt
# path1 = "E:\PythonSource\Source202306_sz\pycode1\day05\data\file\hello.txt"  # 可能会出错
# path2 = "E:\\PythonSource\\Source202306_sz\\pycode1\\day05\\data\\file\\hello.txt"
# path3 = "E:/PythonSource/Source202306_sz/pycode1/day05/data/file/hello.txt"
path4 = r"E:\PythonSource\Source202306_sz\pycode1\day05\data\file\hello.txt"  # 正则
​
# 推荐
# path3 = "E:/PythonSource/Source202306_sz/pycode1/day05/data/file/hello.txt"  # 推荐
import os
​
# 定义变量
path = "./data/file/hello.txt"
# 是否存在
# print(os.path.exists(path))
# 是否是文件
# print(os.path.isfile(path))
# 目录
# print(os.path.isdir(path))  # False
# 绝对路径
# print(os.path.abspath(path))
# 单独文件名
print(os.path.basename(path))

==总结:==

(1)在Python中操作目录时,需要使用到os模块;

(2)注意:当要检查某目录是否存在时,可以使用()方法。==A、exists()==;B、isfile()。

目录的具体操作

==目标:==了解操作目录的方式有哪些?

在Python的os模块中,可直接通过os调用的常用函数:

函数名含义
getcwd()获得当前工作目录,即当前Python脚本工作的目录路径。
system(name)运行shell命令。
listdir(path)返回指定目录下的所有文件和目录名,即获取文件或目录列表。
mkdir(path)创建单个目录。
makedirs(path)创建多级目录。
remove(path)删除一个文件。
rmdir(path)删除一个目录。
rename(old, new)重命名文件。

说明:

上述常用函数可直接使用os来进行调用。

例如,使用os模块来完成:

(1)获取当前工作目录;

(2)获取day05/file下的文件或目录列表信息;

(3)思考:若要在file下新建hello/world/python目录,该怎么做呢?

import os
​
# 1.获取目录
# path = os.getcwd()
# print(path)
​
# 2.获取文件或列表信息
# path_name = "./data/file"
# dir_lists = os.listdir(path_name)
# print(dir_lists)
​
# 3.新建目录
# 问题: 当目录不存在时,才需要创建; 已存在, 则不创建
new_path_name = "./data/file/hello/world/python"
if not os.path.exists(new_path_name):   # 逻辑# 创建os.makedirs(new_path_name)print("已创建成功!!!")

==总结:==

(1)当要遍历及获取某目录下的所有文件信息时,可以使用()方法;==A、listdir()==;B、rmdir();

(2)注意:当要涉及到操作目录,比如创建目录、检查目录是否存在等,就需要直接使用os模块。

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

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

相关文章

全面介绍Linux中的Vim编辑器

一、Vim简介 Vim(Vi IMproved)是从经典的Unix文本编辑器Vi发展而来的一个强大、可扩展的文本编辑器。Vim被设计为高度可配置的,并且具备强大的插件系统,使得它不仅适用于程序员,还适合日常文本编辑。与普通的文本编辑…

H5应用调用企业微信扫一扫API扫码方法

场景:自行开发的企微应用例如扫码入库、二维码资产盘点等等 官网地址:使用说明 - 接口文档 - 企业微信开发者中心 扫一扫接口说明:企业微信扫一扫 - 接口文档 - 企业微信开发者中心 使用Js版本: http://res.wx.qq.com/open/js/jweixin-1.2.0.js 前端JS代码&…

IO流(二)

IO流(二) 目录 IO流 —— 字符流IO流 —— 缓冲流IO流 —— 转换流IO流 —— 打印流IO流 —— 数据流IO流 —— 序列化流 1.IO流 —— 字符流 文件字符输入流 —— 读字符数据进来 字节流:适合复制文件等,不适合读写文本文件字…

nginx rewrite地址重写

目录 常用的nginx正则表达式 location和rewrite的区别 一、location 1.location常用匹配类型 2.location匹配机制 3.实际工作中三大匹配规则 1.网站首页匹配 2.网站静态页面,通过前缀匹配或通用匹配在nginx服务器本地处理 3.网站动态页面,通过匹…

TypeScript语法解析与进阶扩展

TypeScript 1、类型别名2、字符串字面量类型3、元组4、枚举5、类5.1、public private protected5.2、readonly5.3、抽象类5.4、静态成员5.5、类实现接口5.6、接口继承接口5.7、接口继承类 6、泛型6.1、多个类型参数6.2、泛型约束6.3、泛型接口6.4、泛型类6.5、泛型参数的默认类…

Veeam Backup Enterprise Manager身份验证绕过漏洞(CVE-2024-29849)

一、漏洞概述【漏洞通告】 漏洞名称 Veeam Backup Enterprise Manager身份验证绕过漏洞 CVE ID CVE-2024-29849 漏洞类型 身份验证绕过 发现时间 2024-05-22 漏洞评分 9.8 漏洞等级 严重 攻击向量 网络 所需权限 无 利用难度 低 用户交互 无 PoC/EXP 已…

PostgreSQL源码分析——initdb

数据库初始化 在安装完数据库后,需要进行初始化数据库操作,对应PostgreSQL数据库中就是需要进行initdb后,才能对数据库进行启动。initdb的过程,其实就是创建数据库实例的过程,生成模板数据库和相应的目录、文件信息&a…

uniapp小程序限制微信群访问(图文教程)

我有一个微信小程序 “程序员实用资源” 我现在只想让我的微信群可以访问这个小程序的所有功能 所以我必须对我小程序的来源进行限制,让部分功能在正常访问的时候提示没有加群,不可访问,只有从群内点击进入小程序的时候才可以访问这部分功能…

目标检测顶会新成果!20个突破性方法,更高性能,更强理解与分析能力!

【目标检测】在近年来的深度学习领域中备受关注,它通过识别和定位图像中的目标对象,提升了模型在图像理解和分析方面的能力。目标检测技术在自动驾驶、安防监控和医疗影像分析等任务中取得了显著成果。其独特的方法和卓越的表现使其成为研究热点之一。 为…

ESP32蓝牙串口通讯

文章目录 一、前言二、代码三、运行 一、前言 ESP32支持经典蓝牙和低功耗蓝牙(BLE),经典蓝牙可在计算机上模拟出一个串口,使得ESP32可以以串口的方式和计算机通信。 二、代码 #include "BluetoothSerial.h"String device_name …

2025计算机毕业设计选题题目推荐-毕设题目汇总大全

选题在于精,以下是推荐的容易答辩的选题: SpringBoot Vue选题: 基于SpringBoot Vue家政服务系统 基于SpringBoot Vue非物质文化遗产数字化传承 基于SpringBoot Vue兽医站管理系统 基于SpringBoot Vue毕业设计选题管理系统 基于SpringBoot Vue灾害应急救援…

004 AOP使用

文章目录 基于AspectJ的AOP的使用添加依赖编写目标类和目标方法使用XML实现实现步骤切入点表达式通知类型 使用注解实现实现步骤环绕通知注解配置定义通用切入点 纯注解方式 基于AspectJ的AOP的使用 其实就是指的SpringAspectJ整合,不过Spring已经将AspectJ收录到自…

软考中级证在手里,感觉白躺家里了?

软考中级,最适合考的专业是《系统集成项目管理工程师》,特别适合零基础的人! 2022年中级职称的报名条件和要求非常宽松,即使没有学历、零基础和相关工作经验也可以考试!!! 一、职称的含金量 …

docker 中 File Sharing 和Volumes 的区别

在 Docker 中,File Sharing 和 Volumes 都涉及到将文件和目录从主机系统映射到容器中,但它们的用途和实现方式有一些重要的区别: 一、简介 File Sharing 是 Docker Desktop 在 Windows 和 macOS 上的一项功能,允许你将主机文件系…

中国最厉害的改名大师颜廷利:食物的真正人生意义是识悟

在探索人生意义的深邃征途中,我们本应以“识悟”为航标,不断扬帆远航,以实现自我的升华。然而,当回望人世繁华,古往今来,无论男女老少,似乎都在“食物”的陪伴下,徘徊往复&#xff0…

计算机网络复习

2024年whut 概述 1.计算机网络的目标:信息传输和资源共享 2.网络协议的要素(必考): 语法:数据信息和控制信息的结构或格式 语义:要发出何种控制信息,完成何种动作,做出何种响应 同…

safari浏览器无法连接到服务器

问题:MacBook pro,网络连接正常,可以使用各种软件上网,唯独safari浏览器打不开网页,报错说Safari无法连接到服务器; 原因:使用了VPN,VPN自动更改了网络设置,导致Safari浏…

监控局域网电脑屏幕的办法,最简单的三种方法,好用!

在现代企业管理和家庭教育环境中,对局域网内电脑屏幕进行有效监控成为了保障信息安全、提升工作效率和监督行为规范的重要手段。 监控局域网电脑屏幕不仅可以帮助管理者了解员工的工作状态,确保资源的合理使用,还能在一定程度上预防潜在的网…

银行卡归属地查询-银行卡归属地接口-银行卡归属地API

接口简介:通过银行卡号查询国内外银行名称、银行卡卡种、卡品牌以及银行卡发卡省份和城市,支持借记卡和部分贷记卡的发卡省市查询。 若银行卡是农村信用社,归属地无法区分到城市,只能到省份 接口地址:https://www.wapi…

CentOS 7 安装MySQL以及常见问题解决

访问网站:http://repo.mysql.com 找到适配CentOS 7版本的MySQL 的YUM仓库包rpm文件,如下图 下载后,找到安装包的位置 空白处右键,选择在终端打开 查看当前目录下文件 # 安装MySQL 5.7的YUM仓库包rpm -ivh mysql57-community-rele…