python_day5_file

news2025/4/17 16:28:22

open()打开函数:

'''
f = open(name,mode,encoding)
name:要打开的目标文件名
mode:访问模式:只读r、写入w、追加a 等
encoding:编码格式,常为UTF-8
'''
f = open("D:\Test.txt", "r", encoding="UTF-8")
print(type(f))

在这里插入图片描述

read()方法

'''
文件对象.read(num)
num表示读取文件的长度,单位字节,省略则读取文件所有内容
'''
f = open("D:\Test.txt", "r", encoding="UTF-8")
print(f"读取10字节:{f.read(10)}")
print(f"读取文件全部内容:{f.read()}")  # 注意:默认接着上次读取结束位置继续读取

在这里插入图片描述

readlines()方法

'''
按行一次性读取文件所有内容,返回一个列表,每行数据为一个元素
'''
lines = f.readlines()
print(f"lines对象类型:{type(lines)}")
print(f"lines对象内容为:{lines}")  # 为空是因为上面read()方法将文件读完了

在这里插入图片描述

f = open("D:\Test.txt", "r", encoding="UTF-8")
lines = f.readlines()
print(f"lines对象类型:{type(lines)}")
print(f"lines对象内容为:{lines}")  # 为空是因为上面read()方法将文件读完了

在这里插入图片描述

readline():一次读取一行内容

f = open("D:\Test.txt", "r", encoding="UTF-8")
line1 = f.readline()
line2 = f.readline()
print(f"第一行:{line1}")
print(f"第二行:{line2}")

在这里插入图片描述

for循环读取文件行

close():关闭文件流,解除占用

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

# close():关闭文件流,解除占用
f.close()

在这里插入图片描述

with open语法操作文件可自动关闭文件流

with open("D:\\Test.txt", "r", encoding="UTF-8") as f:
    for line in f:
        print(f"每一行:{line}")

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

统计python出现次数

在这里插入图片描述

with open("D:/abc.txt", "r", encoding="utf-8") as f:
    count = 0
    for line in f:
        # 也可以在此处去除换行符
        # line = line.strip()
        # print(line)
        word_list = line.split(' ')
        # print(word_list)
        for element in word_list:
            # 注意去除换行符\n,两种方法:1、replace()方法,2、strip()方法去除字符串首位空格与换行符
            # element = element.replace('\n', '')
            element = element.strip()
            print(element)
            if element == 'python':
                count += 1
    print(f"'python'出现次数为:{count}")

line
line
split()方法分割后存入列表中,不难发现包含换行符
在这里插入图片描述
element
在这里插入图片描述

注:调试代码时,活用print语句

文件写入:w模式,若文件不存在,自动创建

write()方法写入

flush()刷新方法

f = open("D:/write.txt", "w", encoding="utf-8")  # f勿忘
# write()方法写入
f.write("hello world!")  # 将内容写入内存,需调用flush()刷新方法才成功写入
# flush()刷新方法
f.flush()
# time.sleep(600000)  # 保持程序睡眠
# 关闭文件流
f.close()

在这里插入图片描述

向已存在文件写入时,会将文件原内容清空,重新写入

f = open("D:/write.txt", "w", encoding="utf-8")
f.write("java python c")
f.close()     # 写人文件调用close()会自动flush()

在这里插入图片描述

文件写入:a模式,若文件不存在,自动创建;若文件存在,则在文件最后追加写入文件

f = open("D:/append.txt", "a", encoding="utf-8")
# write()方法写入
f.write("python python py")
# flush()方法刷新
f.flush()
# close()关闭文件流
f.close()

在这里插入图片描述

追加已存在文件

f = open("D:/append.txt", "a", encoding="utf-8")
f.write('\njava java c')
f.flush()
f.close()

在这里插入图片描述

案例。文件备份,并去除测试样例

在这里插入图片描述

with open("D:/bill.txt", "r", encoding="utf-8") as f:
    f_bac = open("D:/bill_bac.txt", "w", encoding="utf-8")
    for line in f:
        line = line.strip()  # 去除首位空格、换行符
        print(line)
        word_list = line.split(',')  # 存入列表
        print(word_list)
        if word_list[4] == '测试':
            continue    # 测试样例跳过
        else:
            # f_bac = open("D:/bill_bac.txt", "a", encoding="utf-8")  # 追加写法也可实现
            f_bac.write(line + "\n")
            f_bac.flush()
f_bac.close()

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

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

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

相关文章

Dbeaver 显示字段备注信息

一、全局设置显示字段描述

@所有人,酷雷曼年中答卷,请查收!

2023 酷雷曼VR年中答卷 顺势而行 携手共赢 七月既至,年过已半。 半年来, 我们持续以优质的产品研发、 专业的客户服务、 不断交付的技术方案, 将那些关于VR的美好向往, 变成真实可感的确定, 让每一种相信&am…

Vue+element实现el-table行内编辑并校验

el-table行内编辑情况情况概要:之前在开发过程中对于element数据的新增,修改,删除。一般直接结合el-form使用。也就是新增的时候点新增然后出来一个弹框,里面嵌套一个表单,然后保存就好了。这次项目中要求所有的新增&a…

如何学习编写安全的PHP代码? - 易智编译EaseEditing

学习编写安全的PHP代码是保证应用程序安全的重要一环。下面是几个建议来帮助你学习编写安全的PHP代码: 学习安全编程原则: 了解常见的安全漏洞类型,如跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF&…

如何刷新对黑客的认识?

黑客一般有10种类型 1、白帽黑客 白帽黑客是指通过实施渗透测试,识别网络安全漏洞,为政府及组织工作并获得授权或认证的黑客。他们也确保保护免受恶意网络犯罪。他们在政府提供的规章制度下工作,这就是为什么他们被称为道德黑客或网络安全专…

springboot项目中引入本地依赖jar包,并打包到lib文件夹中

1.springboot项目中引入本地依赖jar包,并打包到lib文件夹中 描述:下载了第三方相关jar包后,项目中引入本地jar,测试环境正常,打包线上报错提示为找到该jar 原因:应该在/WEB-INF/lib/xxx.jar,被…

vite-plugin-mock配置报错“localEnabled”不在类型”ViteMockOptions”中

vue3vite安装vite-plugin-mock之后配置报错: “localEnabled”不在类型”ViteMockOptions”中。 在vite.config.ts中共添加viteMockServe({ localEnabled: command ‘serve’, }),之后报了一下错误: 解决方法:与vite-plugin-mock版本有关&a…

揭示Android黑客之道:通过逆向工程揭开HTTPS流量

抓包是指在计算机网络中,通过监听网络流量并捕获通信数据包的过程。在网络通信中,数据以数据包的形式在网络上进行传输,每个数据包包含了源地址、目标地址、协议信息以及实际的数据内容。 抓包可以帮助我们了解网络通信的细节,包…

linux开发工具:Git

文章目录 1:Git简介2:Git简明指南2.1:创建新仓库2.2:检出仓库2.3:工作流2.4:添加和提交2.5:推送改动2.6:分支2.7:更新与合并2.8:标签2.9:替换本地…

STM32 主从蓝牙模块配置

前言: 最近在调试小车的时候,突然想要用两个蓝牙进行单片机和电脑的交互,之前一直用的都是从机的蓝牙。这里因为需要双机通信,所以也就顺便查询了一些资料,了解一下主从蓝牙模块的使用,以及双机通信的一些使…

在Linux中传输文件文件夹的10个scp命令

scp 命令的基本语法 下面的命令将读作 copy source_file_name进入destination_folder在destination_host使用username account。 > scp source_file_name usernamedestination_host:destination_folder里面有很多参数scp你可以使用的命令。以下是可能在日常使用中使用的参数…

【最短路+状压】CF1846 G

Problem - G - Codeforces 题意&#xff1a; 思路&#xff1a; Code&#xff1a; #include <bits/stdc.h>//#define int long longusing namespace std;const int mxn1e610; const int mxv1e610; const int mxe2e310; const int mod1e97; const int Inf0x3f3f3f3f;stru…

MOSS-RLHF实现大模型和人类价值观对齐

以 ChatGPT 为代表的大型语言模型&#xff08;LLM&#xff09;在各项任务上的高效表现彰显了其广阔发展前景。然而&#xff0c;大模型回复与人类价值偏好经常存在不一致问题。 如何让大模型更好的与人类价值观对齐&#xff0c;理解语言背后的含义&#xff0c;生成更具 “人情味…

elementPlus 树滚动到指定位置

根据当前选中id(colorsid)滚动到具体位置 参考如下&#xff1a; [element-ui] el-tree 滚动到指定选中的位置_element plus el-tree 滚轮定位_533_的博客-CSDN博客

open3d实现搜索在一个球内部的点云

目录 写在前面原理代码结果参考完 写在前面 1、本文内容 给定一个点云P和一个圆心为center&#xff0c;半径为r的球&#xff0c;搜索出P中属于球内的点 2、平台/环境 使用open3d, cmake&#xff0c;适用windows/linux 3、转载请注明出处&#xff1a; https://blog.csdn.net/q…

【代理模式】JDK动态代理示例代码

简介 JDK动态代理是一种基于JDK自带的Proxy类和InvocationHandler接口的代理方式。它可以在运行时动态地创建一个代理对象&#xff0c;该代理对象可以代替真实对象执行某些操作&#xff0c;从而实现对真实对象的代理。 与Java静态代理相比&#xff0c;JDK动态代理具有更高的灵…

[SSM]MyBatis的高级映射及延迟加载

目录 十二、MyBatis的高级映射及延迟加载 12.1多对一 级联属性映射 association 分步查询 12.2多对一延迟加载 12.3一对多 collection 分步查询 12.4一对多延迟加载 十二、MyBatis的高级映射及延迟加载 12.1多对一 多种方式&#xff0c;常见的三种方式&#xff1a; …

【DBA课程-笔记】第2章:MongoDB数据数据查询与分析

目录 一、课程大纲 二、MongoDB 条件查询 1. 制造 MongoDB 测试数据 2. MongoDB 数据查询 与 SQL对应关系 3. MongoDB 查询运算符 4. MongoDB 数据查询、条件查询、过滤 5. MongoDB 条件查询命令 6. MongoDB 数据查询数组条件 A. 精确匹配数组元素&#xff1a; B. 无…

【STM32MP135 - ST官方源码移植】第三章:OPTEE源码移植教程

STM32MP135 OPTEE源码移植教程 一、解压optee的源码压缩包二、拷贝新的设备树文件三、修改Makefile.sdk文件&#xff08;1&#xff09;增加stm32mp135d-atk设备树编译&#xff08;2&#xff09;修改编译器为arm-none-linux-gnueabihf&#xff08;3&#xff09;使用buildroot工具…

J2EEtdtXML介绍

目录 一.XML 什么是格式良好的XML XML的作用 标准的XML格式 二.元素定义 2.1 在XML加入DTD声明 2.2 元素的分类 2.3 元素的限制 三.属性定义 语法 属性类型type 属性描述 tdt解析 四.XML和JSON的区别 五.思维导图 一.XML 什么是格式良好的XML …