python对文件的写操作方法writetext_用python实现读写文件常见操作方式

1  文件读取全文本操作

在一定场景下我们需要把文本全部内容读取出来,进行处理。python提供三种函数读取文件,分别是read readline readlines,

read():读取文件的全部内容,加上参数可以指定读取的字符。

readline():读取文件的一行。

readlines():读取文件的所有行到内存中。

不同场景下我们可以选择不同函数对文件进行读取。

1.1  方法一

file_name = input("请输入你要打开的文件的完整路径及名称")

file= open(file_name, "r")

txt=file.read()

# 全文本的处理

file.close()

使用read函数将文件中的内容全部读取,放在字符串变量txt中。这样操作适合于文本较小,处理简单的情况,当文件较大时,这种方式处理时不合适的。一次性读取较大的文件到内存中,会耗费较多的时间和资源。这时候分批处理效果更好。

1.2  方法二

file_name = input("请输入你要打开的文件的完整路径及名称")

file= open(file_name, "r")

txt= file.read(4)

# 文本的处理while txt != ""txt= file.read(4)

# 批量文本处理

file.close()

这种方法适合于分批处理文本信息,每次批量读入,批量处理,不会对内存造成较大的压力。

1.3  方法三

file_name = input("请输入你要打开的文件的完整路径及名称")

file= open(file_name, "r")for line infile.readlines():

# 处理每一行数据

file.close()

这种处理方式适合处理以行为分割特点的文本,并且文本较小,因为这种处理方式需要一次性把文件所有内容读取到内存中。

1.4  方法四

file_name = input("请输入你要打开的文件的完整路径及名称")

file= open(file_name, "r") # 这里的file时文件句柄for line infile:

# 处理每一行数据

file.close()

这种方式和方法三中的区别是分行读入,逐行处理,不会一次性把文件所有内容都读入到内存中,对一些大文件的处理是很有效的。

2  文件写入文本操作

文件写入有两种写入函数和一种辅助支持。

write():向文件中写入一个字符或者字节流

writelines():将一个元素全为字符串的列表写入到文件中 需要注意的是,writelines写入列表元素的时候会把列表元素的内容拼接到一起写入,不会有换行和空格 。

seek(): 辅助写入函数offset偏移量参数代表含义如下

0 - 文件开头

1 - 当前位置

2 - 文件结尾

2.1  方法一

file_name = input("output.txt", "w+")

text= "hello world!"file_name.write(text)

file.close()

2.2  方法二

file_name = input("output.txt", "w+")

list= ["中午","早上","晚上"]

file_name.writelines(list)for line infile:

# 读取写入的数据,这时候发现是没有任何内容的

file.close()

我们增加一行代码就可以读取到写入的文件内容,利用seek()函数调整写操作指针的位置,可以实现写操作之后的正常读取。

file_name = input("output.txt", "w+")

list= ["中午","早上","晚上"]

file_name.readlines(list)

file_name.seek(0) # 调整写的指针到文件的开始位置for line infile:

# 读取写入的数据,这时候会读出一行写入的数据。

file.close()

原文链接:https://blog.csdn.net/qq_43279637/article/details/106781611

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

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

相关文章

Vue 中的组件缓存

一、介绍 先来看一个问题? 从首页的区块链模块切换到文章详情页面,再从文章详情页面回到首页,我们发现首页重新渲染原来的状态没有了,又回到了推荐模块。 首先,这是正常的状态,并非问题,路由…

SQLlite 分页

如果我要去11-20的Account表的数据 Select * From Account Limit 9 Offset 10; 以上语句表示从Account表获取数据,跳过10行,取9行 嗯,我觉得这个特性足够让很多的web中型网站使用这个了。 也可以这样写 select * from account limit10,9和上面…

thief book怎么用_战略管理工具箱--30个好用的战略管理好工具

-原创转载请告知-十年多年前,在上海做咨询的时候,曾经在书店买了一本《战略管理工具箱》的Poket小书,一直看一直看,里面包含常用的战略管理工具(30个),虽然不用都用上,用其中几个常用…

Vue中使用axios的响应拦截器处理请求失败的情况(处理token过期问题)以及 登录成功跳转回原来页面问题

参考axios官方文档 // 响应拦截器 // Add a response interceptor request.interceptors.response.use(// 在2xx范围内的任何状态代码都会触发此函数,这里主要用于处理响应数据response > {return response},// 任何超出2xx范围的状态码都会触发此函数&#xff0…

cocoapods 命令

1.使用CocoaPods a 新建一个项目,名字cocoapods b 终端中,cd到项目总目录(直接拖过来) [objc] copy? cd /Users/pengjian/Desktop/cocoapodsc 建立Podfile(配置文件) 接着上一步,终端输入 v…

Vue项目中使用 路由导航守卫 处理页面的访问权限

参考Vue-Router官方文档 Vue-Router导航守卫 效果展示 1、给需要登录状态才能访问的页面路由对象的 meta 中添加配置属性 { // 小智同学name: user-chat,path: /user/chat,component: () > import(/views/user-chat),meta: { requiresAuth: true } },2、通过路由拦截器…

python的最受欢迎的库_2018年最受欢迎的15个Python库

2018 年最受欢迎的15个顶级 Python 库作者 | Goutham Veeramachaneni近日,数据科学网站 KDnuggets 评选出了顶级 Python 库 Top15,领域横跨数据科学、数据可视化、深度学习和机器学习。如果本文有哪些遗漏,你可以在评论区补充。图 1&#xff…

失败,因为你其实太过傲慢

因为你太过傲慢,不肯放低姿态去向他人学习,勤加练习,所以失败。转载于:https://www.cnblogs.com/panie2015/p/5667464.html

Uniapp学习笔记(数据展示、数据循环、条件编译、计算属性、组件的使用、组件插槽、生命周期)

1.项目准备 1.1开发方式 uni-app为我们提供2种开发方式: 使用DCloud公司提供HBuilderX工具来快速开发; 使用脚手架来快速开发(我们这次项目使用此方式); 1.2脚手架搭建项目 全局安装,如果你以前安装过…

word图片嵌入式为何只能看到一部分_Word排版的正确姿势!(Word论文排版教学)...

Hello,最近正值着手写毕业论文的初期,趁着这个时间点,我做了一个简易的,简单的,0基础的Word论文排版教学,帮助你在撰写论文的时候不再花费大量的时间浪费在调整格式里。初次做视频,难免有错误&a…

云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)

云计算架构图 很明显,这五者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这五个模式都是近年来兴起的,且这五者都是云计算的落地产品,所以我们先来了解一下云计算是什么…

python多线程和异步性能对比_python对比线程,进程,携程,异步,哪个快

目录概念介绍测试环境开始测试测试【单进程单线程】测试【多进程 并行】测试【多线程 并发】测试【协程 异步】结果对比绘图展示概念介绍首先简单介绍几个概念:进程和线程进程就是一个程序在一个数据集上的一次动态执行过程(数据集是程序在执行过程中所需要使用的资…

uni-ui介绍uni-api

一、uni-ui介绍 安装 二、uni-api 解决uni-app中的跨域问题: "h5" : {"router" : {"mode" : "hash"},"devServer": {"https": false,"proxy": {"/web": {"target": …

推算生日的故事

小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日。 生日是下列10组中一天: 3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 张老师把月份告诉了小明,把日子告诉了小强…

ubuntu18.04安装python3_在 Ubuntu 18.04 上安装 Python 3.7

扩展源安装sudo apt updatesudo apt install software-properties-commonsudo add-apt-repository ppa:deadsnakes/ppa# 按回车继续sudo apt install python3.7python3.7 --version#安装pipwget https://bootstrap.pypa.io/get-pip.pypython3.7 get-pip.py#安装python3.7-devel…

一、uniapp项目(封装异步请求、moment.js时间处理、封装手势滑动组件、下载图片到本地)

一、封装异步请求: 1. 为什么要封装? 2. 封装的思路 export default (params) > {// 显示加载中uni.showLoading({title: "加载中"})return new Promise((resolve, reject) > {wx.request({...params,success(res) {resolve(res)},fail…

.net中如何发送HTTP请求网络资源

应用场景 应该说只要是需要通过发送Http请求获取网络资源的地方都要使用它,网络资源可以是指以URI来表示的资源,比如web api接口等。 HttpWebRequest .net2.0 ~ .net4.0使用HttpWebRequest 代码如下: 1 //.net2.0 ~ .net4.0使用HttpWebReque…

python ftplib_python:使用ftplib编写FTP客户端

Python中的ftplib模块Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件FTP的工作流程及基本操作可参考协议RFC959ftp登陆连接from ftplib import FTP #加载ftp模块ftpFTP() #设置变量ftp…

二、uniapp项目(分段器的使用、scroll-view、视频下载、转发)

一、分段器组件的使用 uniapp官方文档 <template><view class"category"><view class"category_tab"> <view class"category_tab_title"><view class"title_inner"><uni-segmented-control :curr…

HTTP 请求头中的 X-Forwarded-For

本文转载自https://imququ.com/post/x-forwarded-for-header-in-http.html 我一直认为&#xff0c;对于从事 Web 前端开发的同学来说&#xff0c;HTTP 协议以及其他常见的网络知识属于必备项。一方面&#xff0c;前端很多工作如 Web 性能优化&#xff0c;大部分规则都跟 HTTP、…