Python文件读写open函数详解
作者:匿名V5程序员 发布时间:2021-05-25 07:46:09
标签:Python,文件,读写,open,函数
前言:
open()函数的定义:def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
常用的参数有 file、mode、encoding
file是文件名称, mode是文件的打开方式、encoding是文件编码格式
mode常见的有 只读模式®、写入模式(w)、追加模式(a)、读写模式(r+/w+/a+)
r+要求文件必须存在;锚点置于末行末位字符处
w+文件不存在时新建,文件存在时将文件内容清空,锚点置于首行首字符处
a+文件不存在时新建,文件存在时打开文件,将锚点置于末行末位字符处
filename = 'test.txt'
# 以只读方式打开test.txt文件
fd = open(filename, 'r', encoding='utf-8')
# fd.read(self, n) 按指定的长度读取文件内容,为空则读取全部内容
lines = fd.read()
print(lines)
fd.close()
print('------------------read------------------------')
# 以写入模式打开test.txt文件
fd = open(filename, 'w', encoding='utf-8')
# fd.write(self, str) 将str写入文件
lines_w = fd.write('java\nPython\tGolang')
print(lines_w)
fd.close()
print('------------------write------------------------')
# 以追加模式打开文件
fd = open(filename, 'a', encoding='utf-8')
lines_a = fd.write('java\nPython\tGolang')
print(lines_a)
fd.close()
print('------------------append------------------------')
# 以读写模式打开文件(r+)
fd = open(filename, 'r+', encoding='utf-8')
print(fd.read())
lines_str = fd.write('java\nPython\tGolang')
print(fd.read())
fd.close()
print('------------------readWrite------------------------')
# 以读写模式打开文件(w+)
fd = open(filename, 'w+', encoding='utf-8')
lines_str = fd.write('java\nPython\tGolang')
print(fd.read()) # 文件打开时清空文件内容,虽然写入了文件,但未保存,因此读取文件为空
fd.close()
print('------------------readWrite------------------------')
# 以读写模式打开文件(a+)
fd = open(filename, 'a+', encoding='utf-8')
print(fd.read())
# 按行读取
print(fd.readlines(2))
lines_str = fd.write('java\nPython\tGolang')
print(fd.read())
fd.close()
print('------------------readWrite------------------------')
来源:https://blog.51cto.com/u_12907475/5462350


猜你喜欢
- 这里,我们将采用Tensor Flow内建函数实现简单的CNN,并用MNIST数据集进行测试第1步:加载相应的库并创建计算图会话import
- 面向对象编程的2个非常重要的概念:类和对象对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另
- 项目介绍最近学习django,通过文件上传下载这个小项目,总结下常用的知识点。做这个案例我有以下需求:1.要支持一次上传多个文件2.支持上传
- 本次分析基于 CPython 解释器,python3.x版本在python2时代,整型有 int 类型和 long 长整型,长整型不存在溢出
- 本文实例讲述了Yii2基于Ajax自动获取表单数据的方法。分享给大家供大家参考,具体如下:这里有两张表,表结构如下,locations表存放
- 一、导包案例我们导入第三方库,可以使用import。那我们现在有一个需求,我需要动态输入一个模块名,然后导入,这应该怎么做呢?#!/usr/
- 本文实例为大家分享了pyqt5利用pyqtDesigner实现登录界面的具体代码,供大家参考,具体内容如下为便于操作 界面和逻辑分离逻辑类:
- 自定义用户认证系统Django 自带的用户认证系统已经可以满足大部分的情况,但是有时候我们需要某些特定的需求。Django 支持使用其他认证
- Python多线程与多进程中join()方法的效果是相同的。下面仅以多线程为例:首先需要明确几个概念:知识点一:当一个进程启动之后,会默认产
- 准备工作右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。转成灰度图像调用i
- 今天在写vue项目时,用到了computed计算属性,遇到了使用箭头函数出现this指向问题,这里记录下1.箭头函数中的this箭头函数内部
- 使用setTimeout存在的潜在问题在开发项目中遇到这样的序曲,点击按钮弹框,每次进入的时候都需要默认选中Android,这个时候就遇到了
- 如下所示:#待处理列表A= [1,2,3,4,5]#移动次数a = 3右移比较简单for i in range(a): A.insert(0
- 学习目的: 掌握ADO.NET打开SQL SERVER数据库的方法。 今天做个非常普通的例子,做一个用户登录框。主要是通过这个练习认识一下S
- 本文实例讲述了VC基于ADO技术访问数据库的方法。分享给大家供大家参考。具体如下:一、在StdAfx.h文件中添加#import "
- 什么是双端队列双端队列是与队列类似的有序集合。它有一前、一后两端,元素在其中保持自己的位置。与队列不同的是,双端队列对在哪一端添加和移除元素
- 前言本文提供在在无音频的视频中添加音频的python工具,附上代码。环境依赖ffmpeg环境安装,可以参考:windows ffmpeg安装
- 如下所示:import sysfrom PyQt5 import QtGui, QtCore, QtWidgetsfrom PyQt5.Qt
- 上一篇文章为大家介绍了 GoFrame gcache使用实践 | 缓存控制 淘汰策略 ,得到了大家积极的反馈。后续几篇文章再接再厉,仍然为大
- PyTorch与PyTorch Geometric的安装GPU与CUDA,Python,PyTorch的匹配1. 查看Linux系统中GPU