Python入门—文件读写
文件读写的基本流程:
#1、打开文件
#2、读写文件
#3、关闭文件 f = open('文件读写',encoding='utf-8') #打开文件,并赋值给f,encoding='utf-8'让中文可以正常显示不会报错
f = open(r'C:\Users\shanbaoliang\PycharmProjects\untitled2\day2\文件读写',encoding='utf-8') #可以写绝对路径,强制字符r'c:\niuhanyang' f.readline() #读取文件一行数据,读完文件指针下移
f.readlines() #获取文件里所有数据,每一行数据放到一个list里面,换行会读到\n
f.read() #读取文件,获取文件所有内容 文件打开方式:
r 读模式 只能读 不能写 文件不存在会报错
r+ 读写模式 能读 能写 文件不存在会报错 w 写模式 不能读 能写,会覆盖 文件不存在创建一个
w+ 写读模式 指针在文件最后,读空 能写,会覆盖 文件不存在创建一个 a 追加模式 不能读 能写,写在最后 文件不存在创建一个
a+ 追加模式 指针在文件最后,读空 能写,写在最后 文件不存在创建一个 指针移动:
f.seek(0) #移动指针到文件的哪个位置,0表示最前面
f.cloes 关闭文件 names=['a','b','c']
for name in names :
f.write(name+'\n') f.writelines(names) #将list中元素写入文件,names=['a\n','b\n','c\n']
f = open('data.txt','r+',encoding='utf-8') for line in f : #循环文件对象,每次取一行
# print(line) f = open('data.txt','r+',encoding='utf-8')
f.seek(0)
new=f.read().replace('123','a') #对应位置修改,
print(new)
f.write(new)
缓存区立即写入磁盘
#CPU——>内存——>缓冲区——>磁盘
f.write('xx,yy\n')
f.flush() #把缓冲区内容立即写到磁盘,不写可能出现write有延迟
f.close() with自动关闭文件
with open('aa','w') as f : #代码自己判断文件调用完,自动关闭
with open ('f1','w') ,open('f2','r') as f :
f.read()
f.write('sfgg')
文件修改
一、简单粗暴直接(适合文件小)
#1、先获取文件里所有内容
#2、然后修改内容
#3、清空源文件
#4、重写 f = open('data.txt','a+',encoding='utf-8')
f.seek(0)
new=f.read().replace('12','bb') #对应位置修改,只能替换相同位数的字符,否则会覆盖其他内容
print(new)
f.write(new)
f.seek(0)
f.truncate() #清空是从指针位置开始清空
f.write(new)
f.close() 方法二:高效的处理方式
#1、先打开原来的文件,再打开一个空文件
#2、把循环处理原来文件的每一行数据,处理后写到新文件
#3、把原来文件删掉,把新文件改为原文件名字 with open('words.txt',encoding='utf-8') as f, open('.words','w',encoding='utf-8') as fnew :
for line in f :
line = line.lstrip()
if line :
line = line.replace('你','you')
fnew.write(line) import os #文件操作
os.remove('words.txt') #删除文件
os.rename('.words','words') #修改文件名
Python入门—文件读写的更多相关文章
- 【转】Python之文件读写
[转]Python之文件读写 本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 ...
- 【Python】文件读写操作
Python的文件读写有点类似php的文件读写.php的文件读写已经在<[php]让记事本成为你调控变量的控制台>(点击打开链接)说过了,以下用一个小样例说明Python的文件读写. 在F ...
- (转)Python之文件读写
Python之文件读写 原文:https://www.cnblogs.com/huilixieqi/p/6494891.html 本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 ...
- python 基础-文件读写'r' 和 'rb'区别
原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...
- 快速入门Python中文件读写IO是如何来操作外部数据的?
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- Python之文件读写
本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 I/O在计算机中是指Input ...
- python之文件读写详解
打开文件 函数open() 参数说明: file:文件路径 mode: 文件的读写方式,默认'r',只读方式: buffering:设置缓冲策略,0用于二进制文件,1为行缓冲,用于文本模式:默认二进制 ...
- python中文件读写
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- python的文件读写笔记
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
随机推荐
- Centos7安装JDK+部署Tomcat8
Centos7下JDK+Tomcat的部署: 1.安装JDK 1.1 通过以下命令获得java JDK列表 yum -y list java* 1.2 通过yum安装JDK yum -y instal ...
- lua post参数获取,参数截断
post 请求头: a.application/x-www-form-urlencoded 普通表单提交 b.multipart/form-data 含有文件的表单,二进制上传 c.applicati ...
- W3CSchool闯关笔记(初级脚本算法)
W3C后台校验代码bug很多,有的时候跑不过不一定是自己代码写得有问题,也许是网页后台的bug,可以自己把代码放到本地的html文件中跑一下看看 function reverseString(str) ...
- verilog function功能函数写法
:] sm2tc; :] din; :] dp; :] dn; :] dout; begin dp = {'b0, din[14:0]}; dn = ~dp + 'b1; dout = (din[] ...
- html网页引用中文字体,解决加载缓慢办法
[ttf 压缩]html网页引用中文字体,文件过大,加载缓慢的解决办法[字蛛][web font] [字蛛]http://font-spider.org/ 先安装好 NodeJS,然后执行: npm ...
- 第三次java作业
编写“学生”类及其测试类. 5.1 “学生”类: ² 类名:Student ² 属性:姓名.性别.年龄.学号.5门课程的成绩 ² 方法1:在控制台输出各个属性的值. ² 方法2:计算平均成绩 ² 方法 ...
- Linux服务器常用工具
一.Ubuntu18版本 服务器 1)替换源.将原有的源注释掉 vi /etc/apt/sources.list deb http://mirrors.aliyun.com/ubuntu/ bioni ...
- 【Linux】日志分析工具grep sed sort
遇到一个问题,在查询日志时发现,服务器上打印的文件有很多个,每个都存储了一部分日志, 需要将日志按照时间排序,并显示所有日志. 原命令: grep -h searchContent */*log 搜 ...
- nginx 平滑更新
1.更新nginx源 #centos6的nginx源 #centos7的话吧url 的6改为7就行了 vim /etc/yum.repos.d/nginx.repo [nginx] name=ngin ...
- POSIX Timer
SYNOPSIS #include <signal.h> /* only timer_create need this header */ #include <time.h> ...