当前位置: 首页 > news >正文

网站权重多少4赤峰网站建设哪个服务好

网站权重多少4,赤峰网站建设哪个服务好,怎么做新网站,建立网站实验总结在Python开发中,文件操作是非常基础且重要的技能。无论是读写数据、处理日志,还是管理文件系统,掌握文件操作和异常处理机制都能让你的代码更加健壮和高效。本文将系统介绍Python的文件操作基本方法,结合异常处理机制,…

在Python开发中,文件操作是非常基础且重要的技能。无论是读写数据、处理日志,还是管理文件系统,掌握文件操作和异常处理机制都能让你的代码更加健壮和高效。本文将系统介绍Python的文件操作基本方法,结合异常处理机制,并介绍常用的os模块功能,助你写出高质量的文件处理代码。


目录

一、Python文件操作基础

1.1  打开文件

1.2 读写文件

二、文件操作注意事项

三、Python异常处理机制

四、常用OS模块功能介绍

五、总结


一、Python文件操作基础

Python使用内置函数open()打开文件,常见用法:

f = open('filename.txt', mode='r', encoding='utf-8')
1.1  打开文件

mode参数指定文件打开模式:

'r'只读(默认)
'w'写入(会覆盖原文件)
'a'追加写入(在文本末尾追加,不会覆盖原文件)
'b'二进制模式
'+'读写模式

基础用法:

(1)'r':只读模式(默认)。文件必须存在,否则报错。

(2)'w':写入模式。如果文件存在,会清空原内容;文件不存在则新建。

(3)'a':追加模式。写入时从文件末尾追加内容,文件不存在则新建。

拼接用法

1. b(二进制模式)

(1)'rb':以二进制只读方式打开文件。常用于读取图片、视频、音频等非文本文件。

(2)'wb':以二进制写入方式打开文件。会覆盖原文件内容。

(3)'ab':以二进制追加方式打开文件。在文件末尾写入二进制数据。

2. +(读写模式)

(1)'r+':读写模式。文件必须存在,允许读取和写入。写入不会清空文件,但会从文件开头覆盖。

(2)'w+':读写模式。如果文件存在,会清空原内容再写;如果不存在则新建。

(3)'a+':读写模式。允许在文件末尾追加内容,也可以读取。文件不存在则新建。

3. b+ 结合

(1)'rb+':以二进制方式读写文件,文件必须存在。既能读也能写。

(2)'wb+':以二进制方式读写文件,如果文件存在会清空原内容。

(3)'ab+':以二进制方式读写文件,在文件末尾追加写入,同时允许读取。


1.2 读写文件

1)读文件操作:read()、readline()、readlines()

content = f.read()           # 读取全部内容
line = f.readline()          # 读取一行
lines = f.readlines()        # 读取所有行,返回列表

2)写入文件内容

f.write('Hello, world!\n')
f.writelines(['line1\n', 'line2\n'])

3)关闭文件:操作完成后,务必关闭文件释放资源

f.close()

4)推荐的with语句:使用with语句自动管理文件关闭,避免忘记关闭导致资源泄露

with open('filename.txt', 'r', encoding='utf-8') as f:content = f.read()
# 无需显式调用close,自动关闭

二、文件操作注意事项

1) 编码问题:读写文本文件时,推荐显式指定encoding='utf-8',避免编码错误。

2) 文件路径:使用绝对路径或相对路径时要注意当前工作目录,避免找不到文件。

3) 文件不存在:读取不存在的文件会抛出FileNotFoundError异常。

4) 写入模式谨慎:'w'模式会清空原文件,使用前确认需求

5) 二进制文件处理:图片、音频等文件需用'rb''wb'模式处理。

三、Python异常处理机制

文件操作常伴随异常,如文件不存在、权限不足等。Python的异常处理结构如下:

try:# 可能抛出异常的代码with open('file.txt', 'r') as f:data = f.read()
except FileNotFoundError:print("文件未找到,请检查路径")
except PermissionError:print("权限不足,无法访问文件")
except Exception as e:print(f"发生其他异常: {e}")
else:print("文件读取成功")
finally:print("无论是否异常都会执行")

1)try块中写可能出错的代码
2)except捕获并处理特定异常
3)else在无异常时执行
4)finally无论是否异常都会执行,常用于资源释放

四、常用OS模块功能介绍

os模块提供丰富的文件和目录操作接口,常用功能包括:

功能方法示例说明
获取当前工作目录os.getcwd()返回当前脚本运行的目录路径
改变工作目录os.chdir(path)切换当前工作目录
创建目录os.mkdir(path)创建单层目录
递归创建目录os.makedirs(path)创建多层目录
删除文件os.remove(path)删除指定文件
删除空目录os.rmdir(path)删除空目录
遍历目录os.listdir(path)返回目录下所有文件和目录列表
高效遍历目录os.scandir(path)返回目录迭代器,包含文件类型信息
判断路径类型os.path.isfile(path)判断是否为文件
断路径是否为目录os.path.isdir(path)判断是否为目录
拼接路径os.path.join(path, *paths)拼接路径,自动添加分隔符
获取绝对路径os.path.abspath(path)返回路径的绝对路径

1. 获取当前工作目录 — os.getcwd()

功能说明:

  • 返回当前Python脚本运行时的工作目录路径,类型为字符串。

示例:

import oscwd = os.getcwd()
print(f"当前工作目录是: {cwd}")

2. 改变工作目录 — os.chdir(path)

功能说明:

  • 将当前工作目录切换到指定路径 path
  • 后续相对路径操作都基于新目录。

示例:

import osos.chdir('/tmp')
print(f"切换后的工作目录: {os.getcwd()}")

3. 创建单层目录 — os.mkdir(path)

功能说明:

  • 在指定位置创建一个新目录。
  • 如果上级目录不存在,会抛出异常。

示例:

import osos.mkdir('new_folder')
print("目录创建成功")

4. 递归创建多层目录 — os.makedirs(path)

功能说明:

  • 递归创建多层目录,如果中间目录不存在,会自动创建。
import osos.makedirs('parent_dir/child_dir/grandchild_dir')
print("多层目录创建成功")

5. 删除文件 — os.remove(path)

功能说明:

  • 删除指定路径的文件。
  • 如果路径不存在或是目录,会抛出异常。

示例:

import osos.remove('file.txt')
print("文件删除成功")

6. 删除空目录 — os.rmdir(path)

功能说明:

  • 删除指定的空目录。
  • 如果目录非空或不存在,会抛出异常。

示例:

import osos.rmdir('empty_folder')
print("空目录删除成功")

7. 遍历目录内容 — os.listdir(path)

功能说明:

  • 返回指定目录下所有文件和目录的名称列表(字符串列表)。
  • 不包含子目录的内容,只列出当前目录。

示例:

import osentries = os.listdir('.')
print("当前目录下的文件和目录:", entries)

8. 高效遍历目录 — os.scandir(path)

功能说明:

  • 返回一个迭代器,迭代器中的每个元素是os.DirEntry对象,包含文件名、路径和类型等信息。
  • os.listdir()更高效,适合需要判断文件类型的场景。

示例:

import oswith os.scandir('.') as entries:for entry in entries:if entry.is_file():print(f"文件: {entry.name}")elif entry.is_dir():print(f"目录: {entry.name}")

9. 判断路径是否为文件 — os.path.isfile(path)

功能说明:

  • 判断给定路径是否存在且是一个文件。
  • 是文件返回 True,否则返回 False

示例:

import osif os.path.isfile('example.txt'):print("example.txt 是文件")
else:print("example.txt 不是文件")

10. 判断路径是否为目录 — os.path.isdir(path)

功能说明:

  • 判断给定路径是否存在且是一个目录。
  • 是目录返回 True,否则返回 False

示例:

import osif os.path.isdir('my_folder'):print("my_folder 是目录")
else:print("my_folder 不是目录")

11. 拼接路径 — os.path.join(path, *paths)

功能说明:

  • 拼接多个路径片段,自动添加操作系统的路径分隔符(如Windows的\,Linux的/)。
  • 避免手动拼接带来的错误。

示例:

import osfull_path = os.path.join('folder', 'subfolder', 'file.txt')
print(full_path)  # Windows: folder\subfolder\file.txt, Linux: folder/subfolder/file.txt

12. 获取绝对路径 — os.path.abspath(path)

功能说明:

  • 返回指定路径的绝对路径。
  • 若传入相对路径,转换为绝对路径。

示例:

import osabs_path = os.path.abspath('file.txt')
print(f"绝对路径是: {abs_path}")

五、总结

1)使用 open() 进行文件读写时,推荐采用 with 语句自动管理资源,避免忘记关闭文件导致的问题。

2)编写文件操作代码时,务必结合异常处理机制,捕获并处理可能出现的错误,提升程序的健壮性和稳定性。

3)利用 os 模块提供的丰富接口,实现文件和目录的创建、删除、遍历等常见操作,方便灵活地管理文件系统。

4)掌握 os.scandir() 等高效遍历目录的方法,能够显著提升文件系统操作的性能

http://www.dtcms.com/a/564880.html

相关文章:

  • 珠海seo海网站建设南京做网站建设搭建的公司
  • 仓储物流人力如何管理?实时看板动态展示进度,支持管理者即时调整人力
  • 系统架构设计师备考第62天——嵌入式系统软件架构设计方法
  • LeetCode 刷题【143. 重排链表】
  • 网站建设与管理工资wordpress仪表盘添加内容
  • 常见的分布式系统面试题清单
  • 基于 U-Net 的医学图像分割
  • 【图像处理基石】多频谱图像融合算法入门
  • 室温反应蒸发+200℃退火调控 MoOₓ/NiOₓ薄膜:光伏空穴传输材料性能优化与效率潜力(>25%)分析
  • 微算法科技(NASDAQ MLGO):DPoS驱动区块链治理与DAO机制融合,共筑Web3.0坚实基石
  • 视频直播点播平台EasyDSS:助力现代农业驶入数字科技“快车道”
  • 迈网科技 官方网站网站建设调研问卷
  • vue 实现自定义message 全局提示
  • 电商网站里的图片网站开发中 视频播放卡
  • [手机AI开发sdk] 模型冻结解冻.pb | `aidlite`加速AI模型
  • 2025 年热门 CV 会议论文【源码复现】:Neural Inverse Rendering from Propagating Light
  • 中小企业网站建设与管理南通网站排名团队
  • TypeScript 队列实战:从零实现简单、循环、双端、优先队列,附完整测试代码
  • LeetCode hot100:189 轮转数组:三种解法从入门到精通
  • 初识MYSQL —— 基本查询
  • 项目打包与部署 —— 把 Java 项目 “装瓶带走”(本地运行→服务器落地全流程)
  • 湘潭做网站价格找磐石网络一流河北网站建设哪家好
  • React 11 登录页项目框架搭建
  • MySQL物理备份之Percona XtraBackup
  • 糖尿病预测多个机器学习维度预测
  • CSP-J教程——第一阶段——第三课:基本的输入与输出
  • 营销网站怎么做合适全站搜索
  • 解决IntelliJ IDEA控制台输出中文乱码问题
  • 昆仑芯 X HAMi X 百度智能云 | 昆仑芯 P800 XPU/vXPU 双模式算力调度方案落地
  • HarmonyOS6.0开发实战:HTTP 网络请求与 API 交互全指南