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

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

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内容截图

在这里插入图片描述

相关文章:

  • java之树筛选
  • 判断电话号码是否重复-excel
  • x-cmd pkg | openssl - 密码学开源工具集
  • 【JavaFX】基于JavaFX11 构建可编辑、对象存储、修改立即保存、支持条件过滤的TableView
  • LeetCode976. Largest Perimeter Triangle
  • docker +gitee+ jenkins +maven项目 (一)
  • C语言 指针初阶
  • 【Redis-08】Redis主从复制的实现原理
  • Linux驱动开发之杂项设备注册和Linux2.6设备注册
  • Android IdleHandler闲时加载
  • 《Python机器学习原理与算法实现》学习笔记
  • redis—List列表
  • MySQL:主从复制
  • 【项目】玩具租赁博客测试报告
  • 每日一题(LeetCode)----二叉树-- 二叉树的右视图
  • 「面试题」如何实现一个圣杯布局?
  • k8s 面向应用开发者的基础命令
  • leetcode388. Longest Absolute File Path
  • Netty源码解析1-Buffer
  • php面试题 汇集2
  • session共享问题解决方案
  • vue总结
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 利用jquery编写加法运算验证码
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 如何设计一个微型分布式架构?
  • 问题之ssh中Host key verification failed的解决
  • 我有几个粽子,和一个故事
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (Python第六天)文件处理
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (七)理解angular中的module和injector,即依赖注入
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (五)Python 垃圾回收机制
  • (五)网络优化与超参数选择--九五小庞
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)visual stdio 书签功能介绍
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .net 7 上传文件踩坑
  • .net 获取url的方法
  • .net 怎么循环得到数组里的值_关于js数组
  • .Net实现SCrypt Hash加密
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • /tmp目录下出现system-private文件夹解决方法
  • @Pointcut 使用
  • [145] 二叉树的后序遍历 js
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [AX]AX2012 SSRS报表Drill through action