Python文件的读取写入操作
一、打开文件、关闭文件操作
想要读取文件或是写入文件,第一步便是打开文件,最后一步便是关闭文件。这里介绍两种打开(关闭)文件的方式:
1、open()方法
f=open(file_name[,access_mode][,buffering])
f=close()
其中,file_name代表文件名,若文件在同一路径下直接输入文件名+后缀,不在同一路径下则写出具体路径;access_mode代表打开文件的方式,默认为r只读模式;buffering代表寄存。
文件的打开方式有如下几种:
r:只读模式
w:用新内容覆盖原文件内容,当文件不存在时,该方式会自动创建文件
a:在原文件中继续写入数据
r+可读可写
w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb wb ab 读写二进制
若想向文本中写入数据,更改代码如下:
f=open("seed.txt","w")
f=close()
需要注意的是,open()方法必须和close()一起使用,打开文件使用完毕后一定要关闭文件。
2、with open() as方法
with open("seed.txt","r",encoding="utf-8"): #encoding为编码格式,此处为utf8格式
...... #文件操作
该方法会自动关闭文件,以防止出现操作复杂,编写时间久导致遗落文件关闭步骤的情况,个人更推荐在使用文本时使用该方法操作。
二、读取文件操作
1、read()
with open('seed.txt','r',encoding='utf-8') as f:
print(f.read())

2、readline()
with open('seed.txt','r',encoding='utf-8') as f:
print(f.readline())

3、readlines()
with open('seed.txt','r',encoding='utf-8') as f:
for i in f.readlines():
print(i,end='')
print()
print(type(f.readlines()))

三、常规写入文件操作
1、write(str)
将str写入文件中,默认不换行,换行需手动添加‘\n’。
添加换行符‘\n’:
s='abcd\nefgh'
with open('seed.txt','w+',encoding='utf-8') as f:
f.write(s) with open('seed.txt','r',encoding='utf-8') as f:
for i in f.readlines():
print(i,end='')
print()

不添加换行符:
s='abcdefgh'
with open('seed.txt','w+',encoding='utf-8') as f:
f.write(s) with open('seed.txt','r',encoding='utf-8') as f:
for i in f.readlines():
print(i,end='')
print()

2、writelines(seq)
将seq(序列)中的数据多行一次写入文件中,不会自动换行,需手动添加换行符。
手动添加换行符‘\n’:
s=['abc\ndef']
with open('seed.txt','w+',encoding='utf-8') as f:
f.writelines(s) with open('seed.txt','r',encoding='utf-8') as f:
for i in f.readlines():
print(i,end='')
print()

不添加换行符:
s=['abcdef','qwe']
with open('seed.txt','w+',encoding='utf-8') as f:
f.writelines(s) with open('seed.txt','r',encoding='utf-8') as f:
for i in f.readlines():
print(i,end='')
print()

四、指定读取写入文件操作
1、seek(size)
文件指针指向size字节处,并从此处读取或写入数据。
写入数据:
s='abcdefgh'
b=''
with open('seed.txt','w+',encoding='utf-8') as f:
f.write(s)
f.seek(3)
f.write(b) with open('seed.txt','r',encoding='utf-8') as f:
print(f.readline())
print()

读取数据(文件接上一个例子):
with open('seed.txt','r',encoding='utf-8') as f:
f.seek(2)
print(f.readline())
f.seek(0)
print(f.readline())
f.seek(6)
print(f.readline())

Python文件的读取写入操作的更多相关文章
- python 文件的读取&更新
[python 文件的读取&更新] 任务抽象: 读取一个文件, 更新内容后, 重新写入文件. 实际应用: 磁盘上的一个配置文件, 读入内存后为一个dict, 对dict更新后重新写入磁盘. d ...
- c文件二进制读取写入文件、c语言实现二进制(01)转化成txt格式文本、c读取文件名可变
c语言实现二进制(01)转化成txt格式文本: 下面的程序只能实现ascall对应字符转换,如果文件内出现中文字符,则会出现错误. 本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件 ...
- [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等
1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...
- [Python学习笔记]文件的读取写入
文件与文件路径 路径合成 os.path.join() 在Windows上,路径中以倒斜杠作为文件夹之间的分隔符,Linux或OS X中则是正斜杠.如果想要程序正确运行于所有操作系统上,就必须要处理这 ...
- Python 文件的读取与写入
1. 读取文件,文件中没有中文 备注 : 文件名 : EnglishFile.txt 文件位置 : 保存在所写的.py文件的同级目录,附上截图,便于参考 备注 : 文件位置可以改变,只需要把文件路径传 ...
- php操作文件(读取写入文件)
一,PHP如何读取文件 PHP读取文件可以读取当前服务器或远程服务器中的文件.其步骤是:打开文件.读文件和关闭文件. 1,PHP如何打开文件 使用PHP函数fopen()打开一个文件,fopen()一 ...
- python第二十九课——文件读写(读取数据操作)
演示读取数据操作:path=r'a.txt' 1.打开文件f1=open(path,'r') 2.读取数据content1=f1.read(3)print(content1) content1=f1. ...
- python文件对象几种操作模式区别——文件操作方法详解
文件对象的字节模式/b模式(以utf-8编码为例) 读操作 写操作 指针操作 ASCII字节 返回bytes/字节类型的Ascii 写入bytes类型字节 例如:b'This is ascii' 使用 ...
- python文件_读取
1.文件的读取和显示 方法1: f=open(r'G:\2.txt') print f.read() f.close() 方法2: try: t=open(r'G:\2.txt') print t.r ...
随机推荐
- 在新浪SAE上搭建微信公众号的python应用
微信公众平台的开发者文档https://www.w3cschool.cn/weixinkaifawendang/ python,flask,SAE(新浪云),搭建开发微信公众账号http://www. ...
- Uoj #35. 后缀排序(后缀数组)
35. 后缀排序 统计 描述 提交 自定义测试 这是一道模板题. 读入一个长度为 nn 的由小写英文字母组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在 ...
- lixuxmint系统定制与配置(4)-应用安装
小书匠Linux 先简单列一下,其实每个软件都有自己的个性化配置,以后有时间了,逐个记录下来.编程主力环境是Python,编辑器使用Jupyter,这个编辑器是在远程服务器启动,映射端口到本地来编辑. ...
- 原创:从海量数据中查找出前k个最小或最大值的算法(java)
现在有这么一道题目:要求从多个的数据中查找出前K个最小或最大值 分析:有多种方案可以实现.一.最容易想到的是先对数据快速排序,然后输出前k个数字. 二.先定义容量为k的数组,从源数据中取出前k个填 ...
- 最大字段和&洛谷11月月赛DIV2 T1
蒟蒻只能打一打DIV2的基础题 太卑微了 这道题的本质其实是再建一个数组,如果s串i位置是0那么就给a[i]赋值为1,表示要累加个数,如果是1那么就把a[i]赋值为-1,表示个数减一,最后求最大子段和 ...
- TCP协议怎么工作的?
三次握手过程: 第一次 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认:SYN:同步序列编号(Synchronize Sequence N ...
- SweetAlert 2 全网最详细的使用方法
官网链接 SweetAlert2 官网链接 准备阶段 CDN js 如果该 链接 时间久远了 , 可以在官网去找找最新的 可以把 js 复制出来 自己新建一个文件 然后 引用到 html 中 1. 带 ...
- docker安装postgresql
1.在linux执行以下代码: docker run -p : -v /home/docker/postgresql/data:/var/lib/postgresql/data -e POSTGRES ...
- tecplot-计算合速度的一种方法
原视频下载地址: http://yunpan.cn/cudFwWr8tFsxV 访问密码 75a8
- C# 复制数组容易踩到的坑--引用类型与值类型
原文链接:https://my.oschina.net/u/3744313/blog/1794235 笔者近期做的项目里大量使用了数组,而在使用过程中,笔者曾经遇到了一个比较低级的问题:如何将一个数组 ...