对文件的操作分三步:

1、打开文件获取文件的句柄,句柄就理解为这个文件

2、通过文件句柄操作文件

3、关闭文件。

现有以下文件a.txt:

登鹳雀楼
唐代:王之涣
白日依山尽,黄河入海流。

一、文件基本操作


f = open('a.txt','a+',encoding='utf-8')#打开一个文件
f.seek(0)#seek移动指针到文件开头的时候,只对读好使,对写不好使
print(f.read())#读取文件里面的全部内容
f.write('\n'+'欲穷千里目,更上一层楼。 ')#写入文件
# f.truncate()#清空文件内容
print(f.tell())#查看当前文件指针的位置
print(f.readline())#只读取一行的内容
print(f.readlines())#读取文件里面所有的内容,把文件里面每一行的内容放到一个list里面
f.close()#关闭文件
注:文件打开有3种方式
读 r (如果打开的文件的时候没有指定模式,那么默认是读)
读写模式 r+(只要沾上r,文件不存在的时候,打开都会报错)
写 w
写读模式 w+(只要沾上w,他就会把文件内容清空)
追加 a
追加读写a+
f = open('a.txt','a+',encoding='utf-8')
# names = {'a:1'}
# s='haha,123456'
# f.write(names)
# f.writelines(names) #写入可迭代的数据,效率不高

二、文件的高效处理

用上面的read()和readlines()方法操作文件的话,会先把文件所有内容读到内存中,这样的话,内存数据一多,非常卡,高效的操作,就是读一行操作一行,读过的内容就从内存中释放了

f = open('file.txt')
for line in f:
print(line)
#这样的话,line就是每行文件的内容,读完一行的话,就会释放一行的内存

三、文件的修改

''修改文件 一 '''
with open('a.txt','a+',encoding='utf-8') as f:
f.seek(0)
all =f.read()
new_all =all.replace('二','一')
f.seek(0)
f.truncate() #删除原文件内容
f.write(new_all)
f.flush()
'''修改文件  二'''
import os
with open('a.txt','a+',encoding='utf-8') as f,open('c.txt','w',encoding='utf-8') as f2:
f.seek(0)
for line in f:
new_line = line.replace('一','二')
f2.write(new_line)
os.remove('a.txt')#删除原文件
os.rename('c.txt','a.txt')#更改修改文件名称

四、其他

with open('a.txt','w') as gy,open('b.txt','w') as gy2:  #打开多个文件且自动关闭
gy.write('hhh')
gy2.write('hahah')
f = open('1.png','rb')# 加b是以二进制方式打开,图片、音频等
print(f.read())
import requests
url ='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1515304507894&di=070363110e7a4fdb43819f439ab4d168
&imgtype=0&src=http%3A%2F%2Fg.hiphotos.baidu.com%2Fimage%2Fpic%2Fitem%2F5fdf8db1cb134954a7ff35815c4e9258d0094a76.jpg'
img = requests.get(url).content
f = open('c.jpg','wb')
f.write(img)
import time
f = open('a.txt','w')
f.write('adada')
f.flush()#立即把缓冲区里面的内容写到文件中

python学习笔记(三)— 文件操作的更多相关文章

  1. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  2. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  3. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  4. Python学习笔记 - day5 - 文件操作

    Python文件操作 读写文件是最常见的IO操作,在磁盘上读写文件的功能都是由操作系统提供的,操作系统不允许普通的程序直接操作磁盘(大部分程序都需要间接的通过操作系统来完成对硬件的操作),所以,读写文 ...

  5. python学习笔记:文件操作和集合

    一.文件操作 文件读写步骤:有一个文件,打开文件,操作文件读写文件,关闭文件. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例) 模式 可做操作 若文件不存在 是否覆盖 r ...

  6. python学习笔记4(文件操作)

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

  7. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  8. 我的Python学习笔记之文件操作

    一,Python的文件类型有两种 1.文本文件 2.二进制文件 文件的操作: 1.打开文件,获取文件的控制权 2.读写文件 3.关闭文件,释放文件的控制权,如果不释放控制权,那么其他程序就不能访问此文 ...

  9. python学习笔记(四)-文件操作

    文件读写"""一.文件打开有3种方式 1.读 r #如果打开的文件的时候没有指定模式,那么默认是读 读写模式 r+,只要沾上r,文件不存在的时候,打开都会报错 2.写 w ...

  10. python学习笔记(五)-文件操作2

    一.文件修改 现有文件file.txt,内容如下:二十四节气歌春雨惊春清谷天,夏满芒夏暑相连.秋处露秋寒霜降,冬雪雪冬小大寒.上半年逢六廿一,下半年逢八廿三.每月两节日期定,最多相差一二天.要求:将文 ...

随机推荐

  1. MySQL 5.7.16 zip包配置

    截止2016/10/16 最新版本Mysql为5.7.16,之前写过一篇APMW搭建的文章(传送门:http://www.cnblogs.com/airoot/p/4131906.html)里面介绍的 ...

  2. Git出现error: Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge.的问题解决(Git代码冲突)

    在使用git pull拉取服务器最新版本时,如果出现error: Your local changes to the following files would be overwritten by m ...

  3. js数组最大值和最小值计算

    基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...

  4. Web 服务器被配置为不列出此目录的内容

    在Web.configue文件里,会多出来部分代码,应该是允许浏览目录: <?xml version="1.0" encoding="utf-8"?> ...

  5. android圆形图像

    在网上找了一下,最简单的是利用canvas的setXfermode,来控制图片重合部分的显示策略. 图片混合时,先画的是dst,后画的是src,各种混合的方式如下,其中圆形是dst,正方形是src: ...

  6. Entity Framework(六):数据迁移

    在前面的几篇文章中,简单的介绍了如何使用Entity Framework的Code First模式创建数据库,但是,在前面的几篇文章中,我们都是通过使用数据库初始化策略来做,也就是每次先删除数据库然后 ...

  7. phpstorm 中文版 支持BUG调试 IDE

    下载地址:http://dx2.7down.net/soft/P/phpstorm8_cn.zip

  8. [oracle] update语句卡住问题

    执行update语句的时候发现执行半天不成功 update main_order set order_source = '2', order_status = '2' 查询哪些对象被锁 select ...

  9. 关于Unity中的摄像机

    摄像机是挂载Camera组件的能把3D世界物体拍摄成2D画面显示到屏幕上面的节点,角度不一样,位置不一样,拍摄出来的东西就不一样. Clear Flags:没有物体的时候,摄像机拍摄出的屏幕要绘制什么 ...

  10. selenium使用中遇到的问题

    1.Exception in thread "main" org.openqa.selenium.WebDriverException: Cannot find firefox b ...