Python入门学习篇(十四)——模块文件操作

news2025/1/23 2:04:06

1 模块

1.1 理解

包: python中带有__init__.py文件的文件夹
模块: 文件名(不包含.py后缀),如python官方的time.py中time就是模块

1.2 示例代码

import datetime

# 调用datetime模块中的datetime类的now()方法
t = datetime.datetime.now()
# 格式化输出日期和时间 strftime("想要保存的格式")

print("当前系统时间为: ", t.strftime("%Y-%m-%d %H:%M:%S"))

1.3 运行截图

在这里插入图片描述

2 文件操作

2.0 前提-打开文件

2.0.1 语法

open("文件的路径",mode[方式],encoding="编码格式")
# 文件的路径可以是相对路径,也可以是绝对路径(绝对路径就是带盘符的路径)
# mode 对应的格式如下所示:
  ①常规: 文本文件
    r 仅读
    w 仅写(覆盖前面写的内容)
    a 追加(在之前的内容后面)
    r+ w+ a+ 读写
  ②专门处理二进制文件(IO流、图片流)
     rb 读取
     wb 覆盖写
     ab 追加写
# encoding 编码格式我们通常把其设置为 utf-8

2.1 文件读取

2.1.1 读取全部

a 思路
第一步: 打开文件
第二步: 使用read方法进行读取
第三步  打印读取的内容
第四步  关闭打开的文件
b 示例代码
# 注意: 使用绝对路径时,需要两个\,一个\是不行的
file=open("D:\\python_studyWorkspace\\Study\\day07\\03 文件操作\\home.txt", mode="r", encoding="utf-8")
msg=file.read()
print(msg)
file.close()  #关闭文件
c 运行截图

在这里插入图片描述

2.1.2 逐行读取

a 思路
第一步: 打开文件
第二步: 使用readlines方法进行读取
第三步  for循环打印读取的内容
第四步  关闭打开的文件
b 示例代码
# 注意: 使用绝对路径时,需要两个\,一个\是不行的
file = open("D:\\python_studyWorkspace\\Study\\day07\\03 文件操作\\home.txt", mode="r", encoding="utf-8")
# readlines 读取出来的数据以行为单位存储到列表中, 这个时候想要打印全部内容,可以考虑使用for循环
msg = file.readlines()
print(msg)
for i in msg:
    # 使用end=""的理由: print自带换行,而文件读取时也会把每行的换行符存储进去,因此需要把print的默认的换行给去掉
    print(i, end="")
file.close()
c 运行截图

在这里插入图片描述

2.2 文件写入

2.2.1 覆盖写入

a 思路
第一步: 打开文件(mode为w)
第二步: 使用write方法进行读取
第三步  关闭打开的文件
第四步  手动查看文件内容(检查是否符合预期)
b 示例代码
file = open("03 文件操作/home.txt", mode="w", encoding="utf-8")
msg = file.write("hello")
file.close()
c 运行截图
c.1 运行前home.txt文件内容

在这里插入图片描述

c.2 运行后控制台截图

在这里插入图片描述

c.3 运行后home.txt文件内容

在这里插入图片描述

2.2.2 追加写入

a 思路
第一步: 打开文件(mode为a)
第二步: 使用write方法进行读取
第三步  关闭打开的文件
第四步  手动查看文件内容(检查是否符合预期)
b 示例代码
file = open("03 文件操作/home.txt", mode="a", encoding="utf-8")
msg = file.write("yes")
file.close()
c 运行截图
c.1 运行前home.txt文件内容

在这里插入图片描述

c.2 运行后控制台截图

在这里插入图片描述

c.3 运行后home.txt文件内容

在这里插入图片描述

2.3 实战练习

2.3.1 题目内容

a 具体题目内容
home.txt文件 原有的内容为hello
要求如下
1.需要在home.txt文件中追加\nWelcome to HuNan内容
2.在控制台打印home.txt文件的内容
b home.txt文件与demo.py文件的位置示意图

在这里插入图片描述

2.3.2 示例代码

file = open("03 文件操作/home.txt", mode="a", encoding="utf-8")
msg = file.write("\nWelcome to HuNan")
file.close()
# 文件写入后,需要获取最新的文件内容的思路: 先关闭文件然后再打开
file01 = open("03 文件操作/home.txt", mode="r", encoding="utf-8")
msg=file01.read()
print(msg)

2.3.3 运行截图

a 运行前home.txt内容截图

在这里插入图片描述

b 运行后控制台截图

在这里插入图片描述

c 运行后home.txt内容截图

在这里插入图片描述

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

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

相关文章

数据仓库【4】:最佳实践

数据仓库【4】:最佳实践 1、表的分类1.1、事实表1.2、维度表1.3、事务事实表1.4、周期快照事实表1.5、累积快照事实表1.6、拉链表 2、ETL策略2.1、全量同步2.2、增量同步 3、任务调度3.1、为什么需要任务调度?3.2、常见任务类型3.3、常见调度工具 1、表的…

类的加载顺序问题-demo展示

面试的的时候经常会被问到包含静态代码块、实例代码块和构造器等代码结构的加载顺序问题,下面借用一个面试题,回顾一下类的代码加载顺序。 public class AooTest {public static void main(String[] args) {AooTest.f1();}static AooTest test1 new Ao…

操作系统:分页存储管理方式

页式存储管理中,主存空间按页分配,可用一张“位示图”构成主存分配表。假设主存容量为2M字节,页面长度为512字节,若用字长为32位的字作主存分配的“位示图”需要多少个字?如页号从1开始,字号和字内位号&…

【Electron】富文本编辑器之文本粘贴

由于这个问题导致,从其他地方复制来的内容 粘贴发送之后都会多一个 换行 在发送的时候如果直接,发送innerHTML 就 可以解决 Electron h5 Andriod 都没问题,但是 公司的 IOS 端 不支持,且不提供支持(做不了。&#xff…

让你的 Python 代码更快的 9 个技巧

在最近参加的一些技术会议上,我常常听到参会员在会中讨论技术选型时提到“Python太慢了”。然而,这种观点往往没有考虑到Python的众多优点。实际上,如果能够遵循Pythonic的编程风格,Python的运行速度可以非常快。这其中的关键在于掌握一些技术细节上的巧妙技巧。那些经验丰…

十大排序算法归纳

目录 排序算法的分类 插入排序算法模板 选择排序算法模板 冒泡排序算法模板 希尔排序算法模板 快速排序算法模板 归并排序算法模板 堆排序算法模板 基数排序算法模板 计算排序算法模板 桶排序算法模板 排序算法的分类 插入:插入,折半插入&am…

搭建普罗米修斯Prometheus,并监控MySQL

1.简介 prometheus是一种时间序列的数据库,适合应用于监控以及告警,但是不适合100%的准确计费,因为采集的数据不一定很准确,主要是作为监控以及收集内存、CPU、硬盘的数据。 Prometheus生态系统由多个组件组成,其中许…

【Java进阶篇】SimpleDateFormat是线程安全的吗? 使用时应该注意什么?

SimpleDateFormat是线程安全的吗?使用时应该注意什么? ✔️ 典型解析✔️拓展知识仓✔️SimpleDateFormat用法✔️日期和时间模式表达方法✔️输出不同时区的时间✔️SimpleDateFormat线程安全性✔️问题重现✔️线程不安全原因✔️如何解决✔️使用局部变量✔️加同步锁✔️…

基于YOLOv5+Deepsort 的PCB缺陷检测及计数系统

背景: PCB(Printed Circuit Board,印刷电路板)是电子产品中至关重要的组成部分,它承载着电子元器件并提供电气连接。在PCB制造过程中,由于工艺、材料或设备等因素的影响,可能会引入各种缺陷&am…

Seata AT TM->RC->RM一次完整的交互过程

原理 TM两阶段: 阶段1:TM向TC申请全局事务,netty客户端发起了一次记录xid的请求 阶段2:TC协调之后,决定执行RM是否提交或者回滚。 spring公共组件部分 1、SeataAutoConfiguration类 利用springboot自动装配机制从…

Java版商城:Spring Cloud+SpringBoot b2b2c电子商务平台,多商家入驻、直播带货及免 费 小程序商城搭建

随着互联网的快速发展,越来越多的企业开始注重数字化转型,以提升自身的竞争力和运营效率。在这个背景下,鸿鹄云商SAAS云产品应运而生,为企业提供了一种简单、高效、安全的数字化解决方案。 鸿鹄云商SAAS云产品是一种基于云计算的软…

【算法练习】leetcode链表算法题合集

链表总结 增加表头元素倒数节点,使用快慢指针环形链表(快慢指针)合并有序链表,归并排序LRU缓存 算法题 删除链表元素 删除链表中的节点 LeetCode237. 删除链表中的节点 复制后一个节点的值,删除后面的节点&#x…

多环境及SpringBoot项目部署

1、多环境 2、项目部署上线 原始前端 / 后端项目宝塔Linux容器容器平台 3、前后端联调 4、项目扩展和规划 多环境 程序员鱼皮-参考文章 本地开发:localhost(127.0.0.1) 多环境:指同一套项目代码在把不同的阶段需要根据实际…

【Vue2+3入门到实战】(17)VUE之VueCli脚手架自定认创建项目、ESlint代码规范与修复、 ESlint自动修正插件的使用 详细示例

目录 一、本节内容二、VueCli 自定义创建项目三、ESlint代码规范及手动修复1.JavaScript Standard Style 规范说明2.代码规范错误3.手动修正 四、通过eslint插件来实现自动修正 一、本节内容 VueCli脚手架自定认创建项目ESlint代码规范与修复ESlint自动修正插件 二、VueCli 自…

设备健康管理系统助力制造企业实现数字化转型

在当今快速变革的制造业环境中,数字化转型已成为制造企业保持竞争力和实现可持续发展的关键。在这个数字化转型的浪潮中,设备健康管理系统正发挥着重要的作用。设备健康管理系统通过实时监测、预测分析和智能诊断等功能,为制造企业提供了全面…

中医电子处方系统,西医个体诊所门诊卫生室病历记录查询软件教程

中医电子处方系统,西医个体诊所门诊卫生室病历记录查询软件教程 一、软件程序问答 1、电子处方软件如何快速开单? 如下图,软件以 佳易王诊所电子处方管理系统V17.1版本为例说明 在开电子处方的时候可以按单个药品开,也可以直…

动态规划10-多重背包

题目描述 有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用,每件耗费的空间是Ci ,价值是Wi 。求解将哪些物品装入背包可使这些物品的耗费的空间 总和不超过背包容量,且价值总和最大。 思路分析 区别于完全背包和简单的01背包问题&…

数据的确权、流通、入表与监管研究(二)数据与流通

附:2023年数据资源入表白皮书下载: 关注WX公众号: commindtech77, 获得数据资产相关白皮书下载地址 1. 回复关键字:数据资源入表白皮书 下载 《2023数据资源入表白皮书》 2. 回复关键字:光大银行 下载 光…

牛客网面试题知识点记录-02

1.collection接口 2.在构造方法中调用方法A,若方法A被子类重写,则会先调用子类的方法A。举例如下题: 此时会输出null,调用顺序为:子类初始化,但是子类实现了Base,会先执行Base的构造方法,构造…

golang第五卷---包以及常用内置包归纳

包以及常用内置包归纳 包的概念math包time包sync包 Go 语言官方的包文档网站:包文档 包的概念 Go语言是使用包来组织源代码的,包(package)是多个 Go 源码的集合,是一种高级的代码复用方案。 任何源代码文件必须属于某…