Python学习 :文件操作
文件基本操作流程:
一、 创建文件对象
二、 调用文件方法进行操作
三、 关闭文件(注意:只有在关闭文件后,才会写入数据)
fh = open('李白诗句','w',encoding='utf-8')
fh.write('''弃我去者,昨日之日不可留;
乱我心者,今日之日多烦忧。
长风万里送秋雁,对此可以酣高楼。
蓬莱文章建安骨,中间小谢又清发。
''')
fh.close()
open()函数的不同模式:

读操作
read() #默认显示所有文本
fh = open('李白诗句',encoding='utf-8')
print(fh.read())
>>> 弃我去者,昨日之日不可留;
乱我心者,今日之日多烦忧。
长风万里送秋雁,对此可以酣高楼。
蓬莱文章建安骨,中间小谢又清发。
read(4) #显示4个字符
fh = open('李白诗句',encoding='utf-8')
print(fh.read(4)) #显示4个字符
>>> 弃我去者
readline() #只读取一行,每次调用输出一行
fh = open('李白诗句',encoding='utf-8')
print(fh.readline())
['弃我去者,昨日之日不可留;]
readlines() #将文件中各行读出来,放到一个列表中返回。列表中每个元素都是文件的一行,并且都是字符串
fh = open('李白诗句',encoding='utf-8')
print(fh.readlines())
['弃我去者,昨日之日不可留;\n', '乱我心者,今日之日多烦忧。\n', '长风万里送秋雁,对此可以酣高楼。\n', '
蓬莱文章建安骨,中间小谢又清发。\n', '俱怀逸兴壮思飞,欲上青天览明月。\n', '抽刀断水水更流,举杯消愁愁更愁。\n', '人生在世不称意,明朝散发弄扁舟。']
写操作
write() #把文件写入缓冲区,当文件关闭时才会写入内存
对于大数据文件:
如果文件很大,乃至于内存空间不足,就不能继续使用 read()或者readlines()操作
因为文件是可迭代的对象,直接用 for 来迭代即可
fh = open('李白诗句',encoding='utf-8')
number = 0
for i in fh: # 这是for内部将f对象做成一个迭代器,用一行去一行。
number += 1
print(i.strip())
弃我去者,昨日之日不可留
乱我心者,今日之日多烦忧。
长风万里送秋雁,对此可以酣高楼。
蓬莱文章建安骨,中间小谢又清发。
其他操作方法:
1、tell() 查看光标当前的位置
2、seek()
seek(offset ,[whence]) 方法改变当前文件的位置
offset变量表示要移动的字节数。whence变量表示要从哪个位置开始偏移
注意:默认以文件的开头未参照物进行移动,即 whence = 0,这时候 offset 必须是大于等于0 的整数
当 whence = 1时,表示从当前位置开始计算偏移量。如果 offset 是负数,表示从当前位置向前移动;如果 offset 是正数,表示从当前位置向后移动
当 whence = 2时,表示相对文件末尾移动
3、使用 with 语句操作(在 with 语句中就不用close()了)
with open('李白诗句','r',encoding='utf-8') as fh:
print(fh.readline())
>>> 弃我去者,昨日之日不可留;
4、flush() 用来刷新缓冲区,将缓冲区中的数据立刻写入文件,同时清空缓冲区
5、truncate() 用于截断文件,如果指定了可选参数 size,则表示保留前size 个字节,删除 size 后面的所有字符。 如果没有指定 size,则从当前位置起截断。
不能在r模式下
在w模式下:先清空,再写,再截断
在a模式下:直接将指定位置后的内容截断
Python学习 :文件操作的更多相关文章
- python学习 文件操作
一.python打开文件 #=====================python 文件打开方式 open()===================== # open(fileName,type) t ...
- Python学习---文件操作的学习1208
1.1. 对文件操作基本操作: 操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 注意:pyton中操作的文件是utf8保存的,打开文件时open函数是通过操作系统 ...
- python学习——文件操作
打开文件 f = open(文件名, 文件打开模式,文件编码) ‘w’:只写模式,它是只能写,而不能读的.如果用’w’模式打开一个不存在的文件,则会创建新的文件开始写入:如果用’w’模式打开一个已存在 ...
- Python :open文件操作,配合read()使用!
python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...
- 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容
孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...
- 孤荷凌寒自学python第三十三天python的文件操作初识
孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...
- Python 常见文件操作的函数示例(转)
转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...
- python中文件操作的六种模式及对文件某一行进行修改的方法
一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...
- python中文件操作的其他方法
前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...
- Python常见文件操作的函数示例
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
随机推荐
- matlab练习程序(模拟退火SA)
模拟退火首先从某个初始候选解开始,当温度大于0时执行循环. 在循环中,通过随机扰动产生一个新的解,然后求得新解和原解之间的能量差,如果差小于0,则采用新解作为当前解. 如果差大于0,则采用一个当前温度 ...
- java面试题之----JVM架构和GC垃圾回收机制详解
JVM架构和GC垃圾回收机制详解 jvm,jre,jdk三者之间的关系 JRE (Java Run Environment):JRE包含了java底层的类库,该类库是由c/c++编写实现的 JDK ( ...
- 多设备同时安装apk(安卓)
前几天在做安卓设备的多个设备同时安装的小脚本.因为目前我这边设备有点多,想顺便做一下安装的测试.而且因为公司的app测试人手上有点不足,就想通过这个办法去在安装的时候更方便省事一点. 本来是想弄个复杂 ...
- 使用sqlloader向oracle导入文本数据
文本文件如下,注意文件名必须有后缀,文本行首也需要|分隔符:[oracle@ycr test]$ more person.txt|aaa|123|m|aaa|123|m|aaa|123|m|aaa|1 ...
- Computer Hardware
Computer Hardware Para 1 Computer hardware can be divides into four categories: input hardware, stor ...
- Android进阶笔记10:ListView篇之ListView显示多种类型的条目(item)
ListView可以显示多种类型的条目布局,这里写显示两种布局的情况,其他类似. 1. 这是MainActivity,MainActivity的布局就是一个ListView,太简单了这里就不写了,直接 ...
- Android(java)学习笔记25:Android 手机拨号
1. 手机拨号程序:(只有程序代码) package cn.itcast.phone; import android.app.Activity; import android.content.Inte ...
- Coreseek:常见问题2
1.failed to lock XXXXX.spl文件 这是你建索引的时候会出现的问题,是你没有把打开的的searchd服务给关闭.由于你打开searchd服务时.他会建立一个叫xxx.spl的暂时 ...
- VOJ1067 【矩阵经典7 构造矩阵】
任意门:https://vijos.org/records/5be95b65d3d8a1366270262b 背景 守望者-warden,长期在暗夜精灵的的首都艾萨琳内担任视察监狱的任务,监狱是成长条 ...
- 【题解】洛谷P1066 [NOIP2006TG] 2^k进制数(复杂高精+组合推导)
洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺难的一道题 也很复杂 满足题目要求的种数是两类组合数之和 r的最多位数m为 w/k(当w ...