本节重点

  • 掌握文件的读、写、修改方法

  • 掌握文件的处理模式的区别

一.文件读取

​    ​1.读取全部内容

# 一次性读取文件
f = open("test.txt",'r',encoding='gbk')
data = f.read()
print(data)
f.close()

​2.按行读取

# 按行读取
f = open("test.txt",'r',encoding='gbk')
data = f.readline()
print(data,end='')
f.close()

​    ​3.循环读取

# 循环读取
f = open("test.txt",'r',encoding='gbk')
for line in f:
print(line,end='')
f.close()
# 循环读取二
f = open('test.txt','r',encoding='gbk')
data = f.readlines()
for line in data:
print(line)

​4.二进制读取

# 二进制读取
f = open("test.txt",'rb')
data = f.read()
print(data.decode('gbk'))
f.close()

​5.按字符读取

# 按字节读取
f = open("test.txt",'r',encoding='gbk')
data = f.read(1)
print(data)
f.close() f = open("test.txt",'r',encoding='gbk')
data = f.readline(2)
print(data)
f.close()

二.文件写入

​1.清空原内容写入

# 清空原内容写入
f = open('test.txt','w',encoding='gbk')
f.wirte('新内容,新世界')
f.close() # 关闭并保存

​    ​2.追加内容

# 清空原内容写入
f = open('test.txt','a',encoding='gbk')
f.wirte('新内容,新世界')
f.close() # 关闭并保存

​3.二进制写入

# 清空原内容写入
f = open('test.txt','wb')
f.wirte('新内容,新世界'.encode('gbk'))
f.close() # 关闭并保存

​4.flush保存

# flush强刷保存内容
f = open('test2.txt','w',encoding='gbk')
f.write('新内容,新世界3')
f.flush() #保存内容 #f.close()

三.文件修改

​    ​1.一次性修改,占用cpu

# 一次性修改
f = open("test.txt",'r+',encoding='gbk')
data = f.read()
f.seek(0)
f.truncate()
data = data.replace('Zi','子')
f.write(data)
f.close()

​2.边读边改,占用硬盘

# 边读边改
import os
f_name = "test.txt"
f_temp_name = "test_temp.txt"
f = open(f_name,'r',encoding='gbk')
f_temp = open(f_temp_name,'w',encoding='gbk')
for line in f:
f_temp.write(line.replace('子','Zi'))
f.close()
f_temp.close()
os.replace(f_temp_name,f_name)

四.文件处理模式

python学习之路 四 :文件处理的更多相关文章

  1. Python学习之路4 - 文件操作&编码转换

    文件操作 文件操作大概分三步: 把文件打开. 操作文件. 把文件关上. 打开文件 打开文件用open()函数,打开成功后返回一个资源,具体语法如下. open(要打开的文件,打开方式,打开文件的格式, ...

  2. Python学习之路5☞文件处理

    一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 正趣果上果 Interesting fruit fruit 词:郭婞 曲:陈粒 编曲/混音/和声:燕池 萧: ...

  3. python学习之路四(类和对象1)

    #encoding:utf-8 ''' Created on 2013-7-29 @author: lixingle ''' #CLass............................... ...

  4. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  5. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  6. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  7. python学习心得第四章

     python 学习心得第四章 1.lambda表达式 1:什么是lambda表达式 为了简化简单函数的代码,选择使用lambda表达式 上面两个函数的表达式虽然不一样,但是本质是一样的,并且lamb ...

  8. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  9. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

随机推荐

  1. xUtils怎么post请求上传字符串

    xUtils算是一个非常实用老牌的框架了,但是有些情况,特别是网络请求部分,总是不太方便.需要折腾下才了解用法.今天来聊聊网络模块的用法. 其实看例子就明白了,post JSON数据也是一样道理,这里 ...

  2. Elasticsearch-2.4.3的下载(图文详解)

    第一步:进入Elasticsearch的官网 https://www.elastic.co/ 第二步:点击downloads https://www.elastic.co/downloads 第三步: ...

  3. MyBatis 学习记录1 一个简单的demo

    主题 最近(N个月前)clone了mybatis的源码..感觉相比于spring真的非常小...然后看了看代码觉得写得很精简...感觉我的写代码思路和这个框架比较相似(很难具体描述...就是相对来说比 ...

  4. linux磁 盘分区 挂载

    f命令查看磁盘的分区和已经使用量 利用du命令查询当前目录下的所有目录/文件所占的容量 dumpe2fs查看分区的具体使用情况 磁盘的分区–命令fdisk fdisk /dev/sda 进入这个设备m ...

  5. 设置Windows开机自动启动VirtualBox虚拟机系统

    如果常用VirtualBox虚拟机系统的话,设置随开机启动也是很方便的.不需要打开VirtualBox窗口,直接启动VirtualBox虚拟机系统就可以了. 设置开机自启动VirtualBox虚拟机系 ...

  6. Centos6、7 PHP5.4 5.5 5.6安装

    https://www.mojowill.com/geek/howto-install-php-5-4-5-5-or-5-6-on-centos-6-and-centos-7/ https://blo ...

  7. C#自省

    [C#自省] 1.根据string,获取type.Type.GetType 方法,获取具有指定名称的 Type,执行区分大小写的搜索. 2.根据obj,获取type.Object.GetType 方法 ...

  8. 简单HttpClientUtils工具类

    package com.zy.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; import o ...

  9. Python open()文件处理使用介绍

    1. open()语法open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])open函数有很多 ...

  10. QScopedPointer

    QScopedpointer detailed description the QScopedpointer class stores a pointer to a dynamically alloc ...