python -文件相关操作

文章目录

  • 前言
    • python -文件相关操作
      • 1. 读取文件
        • 1.1. 读取整个文件内容
        • 1.2. 读取文件的一行内容
        • 1.3. 将文件的内容按行存储到一个列表中
      • 2. 写入文件
      • 3. 删除文件
      • 4. 追加文件
      • 5. 遍历文件
        • 5.1. 使用 os 模块 遍历文件
        • 5.2. # 使用 glob 模块 遍历文件
        • 5.3. 使用os.listdir() 函数遍历文件
      • 6. 测试
        • 6.1. 测试脚本
        • 6.2. 测试

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


python -文件相关操作

使用内置的 open() 函数打开文件。它接收两个参数:文件路径和文件打开模式。
文件路径可以是绝对路径或相对路径,文件打开模式可以是 “r”(读取模式)、“w”(写入模式)、“a”(追加模式)等。
Python 提供了 with 语句让文件处理更简洁和安全。with 语句会自动关闭文件,
即使在发生异常的情况下也能保证文件正确关闭。

1. 读取文件

1.1. 读取整个文件内容
print("======================读取整个文件内容")
with open("D:\\pathonFile\\test.txt","r", encoding="utf-8", errors="ignore") as f:content = f.read()  # 读取整个文件内容print(f'content:【{content}】\n')
1.2. 读取文件的一行内容
print("======================读取文件的一行内容")
with open("D:\\pathonFile\\test.txt","r", encoding="utf-8", errors="ignore") as f:line = f.readline()  # 读取文件的一行内容print(f'line:{line}\n')
1.3. 将文件的内容按行存储到一个列表中
print("======================将文件的内容按行存储到一个列表中")
with open("D:\\pathonFile\\test.txt","r", encoding="utf-8", errors="ignore") as f:lines = f.readlines()  # 将文件的内容按行存储到一个列表中index = 1for line in lines:print(f'{index}-line:{line}')index += 1

2. 写入文件

write_path = "D:\\pathonFile\\testWrite.txt"print("======================写入文件")
# 写入文件
with open(write_path, "w", encoding="utf-8") as f:f.write("测试0001")

3. 删除文件

import os
# 删除文件
try:os.remove(write_path)print(f"文件 '{write_path}' 已成功删除。")
except OSError as e:print(f"删除文件 '{write_path}' 时出错: {e}")

4. 追加文件

# 追加文件
with open("D:\\pathonFile\\test.txt","a", encoding="utf-8") as f:f.write("\nNew 17982739827984714987298347.")  # 追加内容到文件末尾

5. 遍历文件

5.1. 使用 os 模块 遍历文件
import osdef osWriteFile(filePaths):print("======================使用 os 模块-遍历文件夹中的所有文件和子文件夹")# 遍历文件夹中的所有文件和子文件夹for root, dirs, files in os.walk(file_paths):for file_name in files:file_path = os.path.join(root, file_name)# 处理文件路径及相关操作print(f'file_path:{file_path}')
5.2. # 使用 glob 模块 遍历文件
# 使用 glob 模块 遍历文件
def globWriteFile(filePaths):print("======================使用 glob 模块-遍历文件夹中的所有文件和子文件夹")# 遍历文件夹中的所有文件path = "{}/*".format(filePaths)files = glob.glob(path)for file_path in files:# 处理文件路径及相关操作print(file_path)
5.3. 使用os.listdir() 函数遍历文件
# 使用os.listdir() 函数遍历文件
def osListdirWriteFile(filePaths):print("======================使用os.listdir() 函数 模块-遍历文件夹中的所有文件和子文件夹")files = os.listdir(filePaths)for file_name in files:file_path = os.path.join(filePaths, file_name)# 处理文件路径及相关操作print(file_path)

6. 测试

6.1. 测试脚本
import os
import glob# 使用 os 模块 遍历文件
def osWriteFile(filePaths):print("======================使用 os 模块-遍历文件夹中的所有文件和子文件夹")# 遍历文件夹中的所有文件和子文件夹for root, dirs, files in os.walk(file_paths):for file_name in files:file_path = os.path.join(root, file_name)# 处理文件路径及相关操作print(f'file_path:{file_path}')# 使用 glob 模块 遍历文件
def globWriteFile(filePaths):print("======================使用 glob 模块-遍历文件夹中的所有文件和子文件夹")# 遍历文件夹中的所有文件path = "{}/*".format(filePaths)files = glob.glob(path)for file_path in files:# 处理文件路径及相关操作print(file_path)# 使用os.listdir() 函数遍历文件
def osListdirWriteFile(filePaths):print("======================使用os.listdir() 函数 模块-遍历文件夹中的所有文件和子文件夹")files = os.listdir(filePaths)for file_name in files:file_path = os.path.join(filePaths, file_name)# 处理文件路径及相关操作print(file_path)# 读取文件
"""
使用内置的 open() 函数打开文件。它接收两个参数:文件路径和文件打开模式。
文件路径可以是绝对路径或相对路径,
文件打开模式可以是 "r"(读取模式)、"w"(写入模式)、"a"(追加模式)等。
Python 提供了 with 语句让文件处理更简洁和安全。with 语句会自动关闭文件,
即使在发生异常的情况下也能保证文件正确关闭
"""
print("======================读取整个文件内容")
with open("D:\\pathonFile\\test.txt","r", encoding="utf-8", errors="ignore") as f:content = f.read()  # 读取整个文件内容print(f'content:【{content}】\n')
print("======================读取文件的一行内容")
with open("D:\\pathonFile\\test.txt","r", encoding="utf-8", errors="ignore") as f:line = f.readline()  # 读取文件的一行内容print(f'line:{line}\n')
print("======================将文件的内容按行存储到一个列表中")
with open("D:\\pathonFile\\test.txt","r", encoding="utf-8", errors="ignore") as f:lines = f.readlines()  # 将文件的内容按行存储到一个列表中index = 1for line in lines:print(f'{index}-line:{line}')index += 1
file_paths = "D:\\pathonFile"
# 遍历文件
osWriteFile(file_paths)
write_path = "D:\\pathonFile\\testWrite.txt"print("======================写入文件")
# 写入文件
with open(write_path, "w", encoding="utf-8") as f:f.write("测试0001")# 遍历文件
globWriteFile(file_paths)# 删除文件
try:os.remove(write_path)print(f"文件 '{write_path}' 已成功删除。")
except OSError as e:print(f"删除文件 '{write_path}' 时出错: {e}")# 遍历文件
osListdirWriteFile(file_paths)# 追加文件
with open("D:\\pathonFile\\test.txt","a", encoding="utf-8") as f:f.write("\nNew 17982739827984714987298347.")  # 追加内容到文件末尾# 读取文件
print("======================读取整个文件内容")
with open("D:\\pathonFile\\test.txt","r", encoding="utf-8", errors="ignore") as f:content = f.read()  # 读取整个文件内容print(f'content:【{content}】\n')
6.2. 测试

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

LeetCode 接雨水 双指针

原题链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题面: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入&#xff1a…

TS编译选项——不允许使用隐式any类型、不明确类型的this、严格检查空值、编译后文件自动设置严格模式

一、不允许使用隐式any类型 在tsconfig.js文件中配置noImplicitAny属性 {"compilerOptions": {// 不允许使用隐式any类型"noImplicitAny": true} } 开启后即可禁止使用隐式的any类型 注意:显式的any类型并不会被禁止 二、不允许使用不明确类…

uniapp——实现base64格式二维码图片生成+保存二维码图片——基础积累

最近在做二维码推广功能,自从2020年下半年到今天,大概有三年没有用过uniapp了,而且我之前用uniapp开发的程序还比较少,因此很多功能都浪费了很多时间去查资料,现在把功能记录一下。 这里写目录标题 效果图1.base64生成…

算法基础之归并排序

一、归并排序的形象理解 原题链接 示例代码 void merge_sort(int q[], int l, int r) {if (l > r) return;int mid l r >> 1;merge_sort(q, l, mid), merge_sort(q, mid 1, r);int k 0, i l, j mid 1;while (i < mid && j < r) //第一处if (q[i]…

通过410s读取电表数据并接入物联网平台

通过410s读取电表数据并接入物联网平台 设备接线准备设备调试代码实现Modbus TCP Client 读取电表数据读取寄存器数据转成32bit Float格式然后使用modbusTCP Client 读取数据 使用mqtt协议接入物联网平台最终代码实现 设备接线准备 设备调试 代码实现 Modbus TCP Client 读取…

LeetCode刷题

一 螺旋矩阵 题目链接&#xff1a;59. 螺旋矩阵 II - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a;…

【论文阅读 08】Adaptive Anomaly Detection within Near-regular Milling Textures

2013年&#xff0c;太老了&#xff0c;先不看 比较老的一篇论文&#xff0c;近规则铣削纹理中的自适应异常检测 1 Abstract 在钢质量控制中的应用&#xff0c;我们提出了图像处理算法&#xff0c;用于无监督地检测隐藏在全局铣削模式内的异常。因此&#xff0c;我们考虑了基于…

如何正确使用MySQL的索引呢?

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、索引使用…

探索创意的新辅助,AI与作家的完美合作

在现代社会&#xff0c;文学创作一直是人类精神活动中的重要一环。从古典文学到现代小说&#xff0c;从诗歌到戏剧&#xff0c;作家们以他们的独特视角和文学天赋为我们展示了丰富多彩的人生世界。而近年来&#xff0c;人工智能技术的快速发展已经渗透到各行各业&#xff0c;文…

【数据结构】二叉树的销毁 二叉树系列所有源代码(终章)

目录 一&#xff0c;二叉树的销毁 二&#xff0c;二叉树系列所有源代码 BTee.h BTee.c Queue.h Queue.c 一&#xff0c;二叉树的销毁 二叉树建好了&#xff0c;利用完了&#xff0c;也该把申请的动态内存空间给释放了&#xff0c;那要如何释放呢&#xff1f; 我们还是以…

LeetCode力扣020:有效的括号

有效的括号 实现思路 设立判定条件遍历的范围 代码实现 class Solution(object):def isValid(self, s):""":type s: str:rtype: bool"""nlen(s)for i in range(0,n-1):if s[i]( and s[i1]!):return Falseif s[i][ and s[i1]!]:return Falseif s…

02Redis的命令行客户端和桌面客户端的下载和安装

Redis桌面客户端 安装完成Redis服务,我们就可以在Redis的客户端操作Redis的数据库实现数据的CRUD了,客户端分为三类命令行客户端, 图形化桌面客户端,编程客户端 命令行客户端 Redis安装完成后就自带了命令行客户端: redis-cli [options] [commonds] -h选项&#xff1a;指定…

Jenkins+Allure+Pytest的持续集成

一、配置 allure 环境变量 1、下载 allure是一个命令行工具&#xff0c;可以去 github 下载最新版&#xff1a;https://github.com/allure-framework/allure2/releases 2、解压到本地 3、配置环境变量 复制路径如&#xff1a;F:\allure-2.13.7\bin 环境变量、Path、添加 F:\a…

从零开始的 MyBatis 拦截器之旅:实战经验分享

文章目录 MyBatis拦截器可以做什么&#xff1f;Mybatis核心对象介绍四大核心对象如何实现&#xff1f;接口讲解Interceptor接口intercept方法plugin方法setProperties 完整SQL打印拦截器实战拦截器实现拦截器注册 MyBatis拦截器可以做什么&#xff1f; MyBatis拦截器是MyBatis…

软件测试面试题 —— 整理与解析(4)

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

自动化测试:为什么需要框架

前两天跟老板出去做pre-sales. 主要是去卖我们的自动化测试服务&#xff0c;工具用的是HP UFT。做过自动化的人应该知道&#xff0c;UFT在自动化测试领域已经算是最好的工具之一了。客户是个有技术背景的人&#xff0c;所以不那么好忽悠。我们准备了一大堆自动化测试优点的幻灯…

推荐一个AI人工智能技术网站(一键收藏,应有尽有)

1、Mental AI MentalAI&#xff08;https://ai.ciyundata.com/&#xff09;是一种基于星火大模型和文心大模型的知识增强大语言模型&#xff0c;专注于自然语言处理&#xff08;NLP&#xff09;领域的技术研发。 它具备强大的语义理解和生成能力&#xff0c;能够处理各种复杂的…

【效率提升】maven 转 gradle 实战 | 京东云技术团队

一、灵魂三问 1、gradle 是什么&#xff1f; 一个打包工具&#xff0c; 是一个开源构建自动化工具&#xff0c;足够灵活&#xff0c;可以构建几乎任何类型的软件&#xff0c;高性能、可扩展、能洞察等。其中洞察&#xff0c;可以用于分析构建过程中数据&#xff0c;提供分析参…

想学python找不到合适的书籍?它来了!入门python只需要这一本书就够了!

想学python找不到合适的书籍&#xff1f;看了视频还是不知如何下手&#xff1f; 《python王者归来》 它来了&#xff01;由清华大学出版社出版&#xff01;入门python只需要这一本书就够了&#xff01; 【PDF版领取见文末】 这是一本python入门书。无论你是计算机专业的大学生…