python学习——文件操作
打开文件
f = open(文件名, 文件打开模式,文件编码)
- ‘w’:只写模式,它是只能写,而不能读的。如果用’w’模式打开一个不存在的文件,则会创建新的文件开始写入;如果用’w’模式打开一个已存在的文件,则会清空文件里内容数据,重新写入新的内容。
- ‘r’:只读模式,它是只能读,而不能写的。如果用’r’模式,文件必须得存在,若文件不存在,会报FileNotFoundError错误。
- ‘a’:追加模式,它是只能写,不能读的。如果用’a’模式写,文件不存在的话,会新建文件再写入数据;如果用’a’模式写,文件存在的话,会在文件内容的末尾写入内容,不会清空原来的内容
- ‘w+’:可读可写模式。文件不存在,则新建;存在的话,则清空文件重新写入。’w+’重要一点是会把原来的内容清空(请慎重使用)
- ‘r+’:可读可写模式。重要是文件必须存在,不存在的话,打开会报错,同时写的话,则文件开头写入内容。
- ‘a+’:可读可写模式。文件不存在则新建;存在的话,则文件末尾追加内容。
- ‘rb’:读取二进制文件
- ‘rw’:写入二进制文件
文件的操作方法
f=open('python.txt','w+',encoding='utf-8')#打开文件
#python2 打开文件除了open()方法,还有一种file()方法:f = file('a.txt','r'),python3没有这个file()方法。
f.writable()#判断文件是否可写
f.readable()#判断文件是否可读
f.write('天气真好!'+'\n')#写文件,写字符串到文件里
f.writelines(['搏击'+'\n','打篮球'+'\n'])#写文件,写列表到文件里
f.read()#读文件的所有内容,返回的是字符串
f.readlines()#读文件所有的内容,返回的是列表
f.readline()#读一行内容,返回的是字符串
f.tell()#返回文件的当前指针位置
f.truncate()#清空文件内容
f.seek(0)#移动文件指针的执行,传0是代表把文件指针指向文件开头
f.flush()#让write()后,f.flush()把内存里的数据立马写入到磁盘里,使得写完就生效;
#而实际的write()写有缓存时间,无法立即写入
f.close()#关闭文件
读文件
文件操作方法read(),readlines()的读文件,会把所有数据加载到内存,当读入较大文件时,则内存会会不够,所以这两种方法既不安全而且效率不高。所以可以读一行,释放一行。
f = open('python.txt','r',encoding='utf-8')
for line in f: #line是文件每行的内容
print(line)
f.close()
修改文件
修改文件可以采用两种方法:1.读取文件所有内容,把原文件清空,重新写入新的内容 2.修改后的内容写入一个新的文件,再将新文件替换原文件。
#第一种方法,适用于文件小的情况。在不删除原文件的情况下,修改文件的内容。
f = open('python.txt','r+',encoding='utf-8')
res = f.read()
new_res = res.replace('周五周六','周末')
f.seek(0)
f.truncate()
f.write(new_res)
f.close()
#第二种方法,无论文件大小都适合。新建文件,一行行的写入替换内容,再删除旧文件,最后新文件更名成原文件名。给人一种在原文件修改内容的假象。
import os
f = open('python.txt','r+',encoding='utf-8')
f_n = open('ddd.txt','a+',encoding='utf-8')
for line in f:
new_line =line.replace('美女','帅哥')
f_n.write(new_line)
f.close()
f_n.close()
os.remove('python.txt')
os.rename('ddd.txt','python.txt')
多文件操作
使用with方法,在文件不使用的时候,自动关闭该文件,而不需要自己写close()。当同时打开多个文件时,使之不会产生错误。
with open("file.txt","r",encoding='utf-8') as fr,\
open("file_new.txt","a+",encoding='utf-8') as fa:#虽然python编码规范要求每行代码不超过80个字符,但是为了方便阅读,可以加上"\",让代码换行。
python学习——文件操作的更多相关文章
- python学习 文件操作
一.python打开文件 #=====================python 文件打开方式 open()===================== # open(fileName,type) t ...
- Python学习---文件操作的学习1208
1.1. 对文件操作基本操作: 操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 注意:pyton中操作的文件是utf8保存的,打开文件时open函数是通过操作系统 ...
- 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() ...
随机推荐
- [leetcode] 103 Binary Tree Zigzag Level Order Traversal (Medium)
原题链接 题目要求以"Z"字型遍历二叉树,并存储在二维数组里. 利用BFS,对每一层进行遍历.对于每一层是从左还是从右,用一个整数型判断当前是偶数行还是奇数行就可以了. class ...
- 算法与数据结构基础 - 广度优先搜索(BFS)
BFS基础 广度优先搜索(Breadth First Search)用于按离始节点距离.由近到远渐次访问图的节点,可视化BFS 通常使用队列(queue)结构模拟BFS过程,关于queue见:算法与数 ...
- spark 源码分析之九--Spark RPC剖析之StreamManager和RpcHandler
StreamManager StreamManager类说明 StreamManager 官方说明如下: The StreamManager is used to fetch individual c ...
- spring-Scheduler
作者:纯洁的微笑出处:http://www.ityouknow.com/ 版权所有,欢迎保留原文链接进行转载:) 在我们的项目开发过程中,经常需要定时任务来帮助我们来做一些内容,springboot默 ...
- Golang高效实践之泛谈篇
前言 我博客之前的Golang高效实践系列博客中已经系统的介绍了Golang的一些高效实践建议,例如: <Golang高效实践之interface.reflection.json实践>&l ...
- 关于HTML的引入CSS文件问题
一 html代码引用外部css文件时若css文件在本文件的父目录下的其他目录下,可使用绝对路径.此时路径要写为 “ ../ ”形式,如在tomcat下建立一个test文件,在该文件中建立两个文件 夹 ...
- 【POJ - 2456】Aggressive cows(二分)
Aggressive cows 直接上中文了 Descriptions 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x ...
- maven 下载 安装 环境配置
电脑系统:win10 64位 idea 2019 Java 1.8 1.链接地址,我一般都找官网 http://maven.apache.org/download.cgi 截图:注意mav ...
- 夯实Java基础(十一)——内部类
1.内部类的概念 内部类顾名思义:将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.对于很多Java初学者来说,内部类学起来真的是一头雾水,根本理解不清楚是个什么东西,包括我自己(我太菜 ...
- 【React踩坑记三】React项目报错Can't perform a React state update on an unmounted component
意思为:我们不能在组件销毁后设置state,防止出现内存泄漏的情况 分析出现问题的原因: 我这里在组件加载完成的钩子函数里调用了一个EventBus的异步方法,如果监听到异步方法,则会更新state中 ...