Ptyhon文件读写时w和w+以及读取文件时seek(0)的作用

2023-10-08 22:50
文章标签 作用 读取 读写 seek ptyhon

本文主要是介绍Ptyhon文件读写时w和w+以及读取文件时seek(0)的作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

w和w+的区别

w是能写入文件,无法读取文件(读取文件时会报错)。

#%%
fname = input("请输入要写入的文件:")
fo = open(fname,'w')
ls = ["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有,","牧童遥指杏花村。"]
fo.writelines(ls)
#fo.seek(0)
for line in fo:print(line)
fo.close()
UnsupportedOperation: not readable
  • 打开清明.txt,发现为空文件夹,说明也没有写入内容。
    在这里插入图片描述
  • 将读取文件的代码注释掉,重新用w方式写入文件。
fname = input("请输入要写入的文件:")
fo = open(fname,'w')
ls = ["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有,","牧童遥指杏花村。"]
fo.writelines(ls)
#fo.seek(0)
# for line in fo:
#     print(line)
fo.close()
  • 再次打开清明.txt发现已经成功写入文件。

w+方式是可写文件同时也可读取文件

fname = input("请输入要写入的文件:")
fo = open(fname,'w+')
ls = ["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有,","牧童遥指杏花村。"]
fo.writelines(ls)
#fo.seek(0)
for line in fo:print(line)
fo.close()
  • 发现没有报错,在清明.txt中也能看到写入的内容,但是也没有打印出内容。**说明w+确实是可读可写的,而没有打印出相关内容的原因在于指针的问题。**但是当打开txt文件发现指针确是指向开头,而不是指向末尾的。这主要是由于f.close()后指针重新位于开头,但是打印操作在这之前就已经执行了,所以没能打印出内容。
  • 实际上去掉最后一行f.close()代码,再次打开清明.txt文件,发现是一个空文件夹,说明要想成功的写入文件,必须要有close()操作才行。

seek(0)让指针定位到开头

  • 将fo.seek(0)代码放在打印操作前,再次执行上面代码,就可以看到打印输出的内容了。

参考博文

python中文件读取中w,w+之间的区别
Python文件操作中的a,a+,w,w+几种方式的区别

这篇关于Ptyhon文件读写时w和w+以及读取文件时seek(0)的作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/168542

相关文章

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

解决Java中基于GeoTools的Shapefile读取乱码的问题

《解决Java中基于GeoTools的Shapefile读取乱码的问题》本文主要讨论了在使用Java编程语言进行地理信息数据解析时遇到的Shapefile属性信息乱码问题,以及根据不同的编码设置进行属... 目录前言1、Shapefile属性字段编码的情况:一、Shp文件常见的字符集编码1、System编码

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

利用Python实现添加或读取Excel公式

《利用Python实现添加或读取Excel公式》Excel公式是数据处理的核心工具,从简单的加减运算到复杂的逻辑判断,掌握基础语法是高效工作的起点,下面我们就来看看如何使用Python进行Excel公... 目录python Excel 库安装Python 在 Excel 中添加公式/函数Python 读取

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常