06 python 文件基础操作

6.1 .1文件读取操作

'''
演示对文件的读取
'''

# 打开文件
import time

f = open('02_word.txt', 'r', encoding="UTF-8")
print(type(f))

# #读取文件 - read()
# print(f'读取10个字节的结果{f.read(10)}')
# print(f'读取全部字节的结果{f.read()}')

# #读取文件 - readLines()
# lines = f.readlines()  #读取文件的全部行,并封装到列表中
# print(f'lines对象的类型是{type(lines)},{lines}')

# 读取文件 - readLine()
line1 = f.readline()  # 读取文件的一行
print(f'lines对象的类型是{type(line1)},{line1}')

# for循环读取文件每一行
for line in f:
    print(f'每一行数据{line}')

# 文件的关闭
f.close()
# time.sleep(50000)

# with open 方法操作文件
import time

with open('02_word.txt', 'r', encoding="UTF-8") as f:
    for line in f:
        print(f'每一行数据是:{line}')
time.sleep(2)

6.1.2文件读取操作的基本案例

'''

itheima itcast python itheima python itcast
beijing shanghai itheima shenzhen guangzhou itheima
wuhan hangzhou itheima
zhengzhou bigdata itheima

'''

#方法一
with open('02_word.txt', 'r', encoding="UTF-8") as f:
    count = 0
    for line in f:
        line = line.strip()  #去除开头结尾的空格和换行符
        line1 = line.split(' ')
        for word in line1 :
            if word == 'itheima':
                count += 1
    print(f'itheima 出现了{count}次')

#方法二
with open('02_word.txt', 'r', encoding="UTF-8") as f:
    conent = f.read()
    count = conent.count('itheima')
    print(f'itheima 出现了{count}次')

6.2.1 文件的写入操作

'''
演示函数的写入
'''
#打开文件,不存在的文件 如果文件不存在,则创建文件,写入内容
import time

f = open('03_test.txt','w',encoding='UTF-8')
#write写入
f.write('Hello Python!!!!')

#flush刷新
# f.flush()
f.close()  #close方法,内置了flush功能

#打开已存在的文件   文件存在,则清空原有内容在写入新内容
f = open('03_test.txt','w',encoding='UTF-8')
f.write('黑暗面')
f.close()  #close方法,内置了flush功能

6.3.1 文件的追加写入操作

'''
演示文件的追加写入操作
'''
#打开文件,不存在的文件
with open('04_test.txt','w',encoding='UTF-8') as f:
    #write写入内容
    f.write('python')
with open('04_test.txt','a',encoding='UTF-8') as f:  #如果文件存在,则在a模式下不会清空原有内容,只会在原有内容后加入新内容
    #write写入内容
    f.write('\n学习')

6.4.1 文件的综合操作案例

'''

name,date,money,type, remarks
周杰轮,2022-01-01,100000,消费,正式
周杰轮,2022-01-02,300000,收入,正式
周杰轮,2022-01-03,100000,消费,测试
林俊节,2022-01-01,300000,收入,正式
林俊节,2022-01-02,100000,消费,测试
林俊节,2022-01-03,100000,消费,正式
林俊节,2022-01-04,100000,消费,测试
林俊节,2022-01-05,500000,收入,正式
张学油,2022-01-01,100000,消费,正式
张学油,2022-01-02,500000,收入,正式
张学油,2022-01-03,900000,收入,测试
王力鸿,2022-01-01,500000,消费,正式
王力鸿,2022-01-02,300000,消费,测试
王力鸿,2022-01-03,950000,收入,正式
刘德滑,2022-01-01,300000,消费,测试
刘德滑,2022-01-02,100000,消费,正式
刘德滑,2022-01-03,300000,消费,正式

'''

#打开文件,准备读取
with open('05_测试.txt', 'r', encoding='UTF-8') as f:
    # 打开文件,准备写入
    with open('05_测试.txt.bak', 'w', encoding='UTF-8') as f_1:
        for line in f:
            #去掉开头结尾空格和转换符
            line = line.strip()
            # #将数据按照‘,’分割开来,并变化为列表形式
            # line = line.split(',')
            # #判断数据结尾是否为  正式
            # if line[-1] == '正式':
            #     #将列表转换为字符串
            #     line = str(line)
            if line.split(',')[-1] == '正式':  #简短写法
                f_1.write(line)
                f_1.write('\n')
            else:
                continue

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python——数据库操作

目录 (1)安装Flask-SQLAlchemy (2)使用Flask-SQLAlchemy操作数据库 (3)连接数据库 •创建数据表 •增加数据 •查询数据 •更新数据 •删除数据 Flask-SQLAlchemy是Flask中用于操作关系型数据库的扩展…

JavaEE:单例模式(饿汉模式和懒汉模式)精讲

前言 什么是单例模式? 其实用通俗的话就是程序猿约定俗成的一些东西,就比如如果你继承了一个抽象类,你就要重写里面的抽象方法,如果你实现了一个接口,你就要重写里面的方法。如果不进行重写,那么编译器就会…

Android BottomSheetBehavior(底部弹窗)

目录 一、BottomSheetBehavior 介绍 二、BottomSheetBehavior 基本使用 2.1 在 CoordinatorLayout 中添加底部工作表: 2.2 在代码中获取 BottomSheetBehavior 实例: 2.3 设置工作表的状态,如展开、折叠等 2.4 工作表的状态 三、Bottom…

redis-学习笔记(Jedis zset 简单命令)

zadd & zrange zadd , 插入的第一个参数是 zset , 第二个参数是 score, 第三个参数是 member 成员 内部依据 score 排序 zrange 返回 key 对应的 对应区间内的值 zrangeWithScore 返回 key 对应的 对应区间内的值和分数 示例代码 zcard 返回 key 对应的 zset 的长度 示例代…

cannot add foreign key constraint问题的解决

cannot add foreign key constraint问题的解决 01 发生场景 当我给mysql数据库表加外键的时候 02 异常发生原因及其解决方式 添加外键时要注意几个关键点,否则很容易失败 1.数据类型一定要一致 添加外键的项和参考项的数据类型一定要一样,这里我报错…

05-命令模式

意图(GOF定义) 将一个请求封装为一个对象,从而使你可用不同的请求对客户端进行参数化,对请求排队或者记录日志,以及可支持撤销的操作。 理解 命令模式就是把一些常用的但比较繁杂的工作归类为成一组一组的动作&…

深入理解Java虚拟机---Java内存模型

JMM Java内存模型主内存和工作内存volatile Java内存模型 Java内存模型是Java虚拟机规范中试图定义一种Java内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台上都能达到一致的内存访问效果。可以理解为JMM定义一套在多线程读写共…

一进一出两线制(三线制)模拟量高速信号(50KHz)隔离变送器

一进一出两线制(三线制)模拟量高速信号(50KHz)隔离变送器 型号:JSD TA-2311F系列 产品特点: ◆小体积,低成本,标准 DIN35mm 导轨安装方式 ◆三端隔离(输入、输出、工作电源间相互隔离) ◆高速信号采集,隔离等(-3dB,Min≤ 3.5 uS) ◆高精度等级(0.1% F.S&…

Netty详细文档

Netty教程 文章目录 Netty教程 Netty简介Netty 的介绍Netty 的应用场景互联网行业游戏行业大数据领域其它开源项目使用到 Netty Netty 的学习资料参考 Java BIO编程I/O 模型BIO、NIO、AIO 使用场景分析Java BIO 基本介绍Java BIO 工作机制Java BIO 应用实例问题分析 Java NIO编…

curl+postman 在java开发中的使用(提高效率)

概念 curl 是一个常用的命令行工具,用于发送各种类型的 HTTP 请求,包括 GET、POST、PUT、DELETE 等。它也可以用来下载文件、上传文件、设置 cookie、发送 multipart/form-data 等等。 使用 调用post接口 实际中的接口: curl --location…

Reactor线程模型详解

文章目录 传统的阻塞式 I/OReactor 模式单 Reactor 单线程单Reactor多线程主从Reactor多线程 在目前的线程模型中一种是传统阻塞的I/O模型,一种是Reactor线程模型。 传统的阻塞式 I/O 为了同时处理多个客户端的请求,服务端为每一个连接都会分配一个新的…

XSS防御:内容安全策略 CSP工作原理、配置技巧与最佳实践

前言 公司部门安全合规改造计划,要求所有的Web站点统一添加CSP规则。对于CSP机制我只是之前在应付面试的时候背过相关的概念,并没有真正在项目中实践过。所以希望借助本次改造任务好好理解并实践CSP机制。 什么是CSP CSP的全称是 Content Security Po…

yolov7简化网络yaml配置文件

本篇介绍如何简化yolov7的网络配置文件 先上一张简化后的网络结构图: 了解v7的都知道,配置文件中网络层数多达100多层,不过并不复杂,相似的模块比较多,可以看到简化后配置文件的层数也就31层。 简化前的配置文件&…

基于ssm社区管理与服务的设计与实现论文

目录 摘 要 1 Abstract 2 第一章 绪论 3 1.1研究背景 3 1.2 研究现状 3 1.3 研究内容 4 第二章 系统关键技术 5 2.1 Java简介 5 2.2 MySql数据库 5 2.3 B/S结构 6 2.4 Tomcat服务器 6 第三章 系统分析 7 3.1可行性分析 7 3.1.1技术可行性 7 3.1.2经济可行性 7 3.1.3运行可行性…

mysql的redolog、undo、binlog的作用

概览: MySQL三大日志包括:undolog,redo log,binlog,它们分别有以下作用: undolog:是Innodb存储引擎事务生成的日志。用于事务的回滚和MVCC,保证了事务的原子性。 redo log&#x…

提升数据采集技能:用 Axios 实现的 Twitter 视频下载器全面解析

引入 在当今数据驱动的时代,高效的数据采集是实现成功数据科学项目的关键。数据采集不仅涉及到数据的获取,还包括数据的清洗、转换、存储和分析等多个环节。Twitter作为全球最大的社交媒体平台之一,蕴含着丰富的信息和海量的多媒体内容&…

Liunx高级系统设计9-线程间同步与互斥

同步与互斥的概念 互斥:同一时间,只能有一个任务(进程或线程)执行,谁先执行不确定。 同步:同一时间,只能有一个任务(进程或线程)执行,有顺序的执行。 同步…

python+pytest接口自动化(15)-日志管理模块loguru简介

python自带日志管理模块logging,使用时可进行模块化配置, 但logging配置起来比较繁琐,且在多进行多线程等场景下使用时,如果不经过特殊处理,则容易出现日志丢失或记录错乱的情况。 python中有一个用起来非常简便的第…

成都工业学院2021级操作系统专周课程设计FCFS,SSTF,SCAN,LOOK算法的实现

运行环境 操作系统&#xff1a;Windows 11 家庭版 运行软件&#xff1a;CLion 2023.2.2 源代码文件 #include <iostream> #include <vector> #include <algorithm> #include <random> using namespace std;// 生成随机数 int generateRandomNumber…

理解 Proxy 和 Object.defineProperty:提升你的 JavaScript 技能(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…