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() ...
随机推荐
- win8上安装sql server (2008 and 2008 R2)存在兼容性问题怎么解决
安装sql2008R2之前,需要先下载"AccessDatabaseEngine"组件并安装(百度上搜索下载就可以了),打补丁重启,再安装sql2008,安装时候提示兼容性问 ...
- 盘一盘 synchronized (一)—— 从打印Java对象头说起
Java对象头的组成 Java对象的对象头由 mark word 和 klass pointer 两部分组成, mark word存储了同步状态.标识.hashcode.GC状态等等. klass ...
- 或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧
一.前言 在目前的软件开发的潮流中,不管是前后端分离还是服务化改造,后端更多的是通过构建 API 接口服务从而为 web.app.desktop 等各种客户端提供业务支持,如何构建一个符合规范.容易理 ...
- MD、SHA、MAC消息摘要算法实现与应用
1.消息摘要概述 消息摘要(Message Digest)又称为数字摘要(Digital Digest).它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生 ...
- 【Android Studio】常用快捷键
1. 删除一行:Ctrl + X 更新中……
- 一看就懂的K近邻算法(KNN),K-D树,并实现手写数字识别!
1. 什么是KNN 1.1 KNN的通俗解释 何谓K近邻算法,即K-Nearest Neighbor algorithm,简称KNN算法,单从名字来猜想,可以简单粗暴的认为是:K个最近的邻居,当K=1 ...
- 几个linux下的命令
sudo apt-get insall -f 修复依赖关系 sudo apt-get update 更新源 sudo apt-get upgrade 更新已经安装的包 sudo apt-get ...
- 【Vue前端】Vue前端注册业务实现!!!【代码】
用户注册前端逻辑 1. Vue绑定注册界面准备 1.导入Vue.js库和ajax请求的库 <script type="text/javascript" src="{ ...
- Django settings.py 配置文件详解
settings.py 配置文件 import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #引 ...
- 在线图片base64编码
图片Base64编码https://oktools.net/image2base64 在线工具https://oktools.net JSON格式化https://oktools.net/json U ...