python学习之路 四 :文件处理
本节重点
掌握文件的读、写、修改方法
掌握文件的处理模式的区别
一.文件读取
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学习之路 四 :文件处理的更多相关文章
- Python学习之路4 - 文件操作&编码转换
文件操作 文件操作大概分三步: 把文件打开. 操作文件. 把文件关上. 打开文件 打开文件用open()函数,打开成功后返回一个资源,具体语法如下. open(要打开的文件,打开方式,打开文件的格式, ...
- Python学习之路5☞文件处理
一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 正趣果上果 Interesting fruit fruit 词:郭婞 曲:陈粒 编曲/混音/和声:燕池 萧: ...
- python学习之路四(类和对象1)
#encoding:utf-8 ''' Created on 2013-7-29 @author: lixingle ''' #CLass............................... ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习心得第四章
python 学习心得第四章 1.lambda表达式 1:什么是lambda表达式 为了简化简单函数的代码,选择使用lambda表达式 上面两个函数的表达式虽然不一样,但是本质是一样的,并且lamb ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
随机推荐
- vs2010下设置release版本调试设置
设置在Release模式下调试的方法: 1.工程项目上右键 -> 属性 2.c++ -> 常规 -〉调试信息格式 选 程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能( ...
- 简单的mysql热备
最近一直担心数据出问题,还好领导给了一台备用机,装好mysql后搜了下mysq热备相关的帖子,看似好繁琐,自己大概配置了一下擦发现起始很简单! 下边就是步骤了! 1.修改主从mysql配置文件,在my ...
- Mysql 5.6 源码编译安装
简介: 多余的话不说,就是源码安装 Mysql 5.6 ,机器内存 512 MB ,系统 CentOS 6.6 ,安装方式 minimal ! 1.安装底层支持包 shell > yum -y ...
- Java实现主线程等待子线程
本文介绍两种主线程等待子线程的实现方式,以5个子线程来说明: 1.使用Thread的join()方法,join()方法会阻塞主线程继续向下执行. 2.使用Java.util.concurrent中的C ...
- 搭建一个Web API项目(DDD)
传送阵:写在最后 一.创建一个能跑的起来的Web API项目 1.建一个空的 ASP.NET Web应用 (为什么不直接添加一个Web API项目呢,那样会有些多余的内容(如js.css.Areas等 ...
- 【305】◀▶ ArcPy 相关功能实现
目录: 1. 同一图层的多个要素合并(2种方法) 2. 导入带经纬度坐标的 txt 文件 3. 栅格计算器的实现 4. 添加 shp 文件(显示在 ArcMap) 5. 通过经纬度坐标生成 Polyg ...
- shell 脚本的坑
最近都在写shell脚本,免不了遇到每个新手都要填的坑,在这里简单记录一下. test语句的坑 test语句在shell脚本里用的非常多,像if语句后面的其实都是test语句,也是新手最容易遇到坑的地 ...
- Lenovo SplitScreen联想分屏软件只能在联想电脑运行,如何破解
1.正常安装软件,重启电脑. 2.打开安装目录 C:\Program Files\Lenovo\Lenovo SplitScreen\SplitScreen 找到 MachineChecker.dll ...
- java算法 第七届 蓝桥杯B组(题+答案) 4.分小组
4.分小组 (代码填空) 9名运动员参加比赛,需要分3组进行预赛.有哪些分组的方案呢? 我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法. 该程序的正常输出为:ABC DEF ...
- Think In Java 读后感
近期拜读了Think in Java 一书,这里是一些读后感. 此书不仅仅是市面上那种教会你怎么用系统API来编程的书,那种书太多. 此书不仅仅从头开始讲述了如何 ...