预科班D12
2020.09.22星期二 预科班D12
学习内容:
一、修改文件的两种方式
1、方案一
思路:(1)先以r形式打开源文件
(2)将源文件内容一次性读入内存中,在内存中修改完毕
(3)以w形式打开源文件(源文件中内容被清空)
(4)将内存中的文件写入源文件中
with open("a.txt", mode = 'r', encoding = 'utf-8') as f:
    data = f.read()
    res = data.replace('jack', 'JACK')
with open("a.txt", mode = 'w', encoding = 'utf-8') as f1:
    f1.write(res)
2、方案二
思路:(1)先以r形式打开源文件,再以w形式打开新的文件
(2)每从源文件中读取一行内容就立即修改,然后将修改的内容写入新文件中
(3)删除源文件,将新文件重命名为源文件名
import os
with open("a.txt", mode = "r", encoding = "utf-8") as src_f, \
        with open(".a.txt.swp", mode = "w", encoding = "utf-8") as dst_f:
    for line in src_l:
        res = line.replace("ccc", "CCC")
        dst_f.write(res)
os.remove("a.txt")
os.rename(".a.txt.swp", "a.txt")
二、文件处理
1、a模式打开文件直接在文件末尾输入
with open(r"H:\PycharmProjects\test\a.txt", mode = 'a', encoding = 'utf-8') as f:
f.write("111\n")
f.write("222\n")
f.write("333\n") with open(r"H:\PycharmProjects\test\a.txt", mode = 'a', encoding = 'ytf-8') as f:
f.write("444\n")
2、w模式打开文件后先将源文件内容清空再输入(命令未结束前也是一直往后写)
with open(r"H:\PycharmProjects\test\a.txt", mode = 'w', encoding = "utf-8") as f:
f.write("111\n")
f.write("222\n")
f.write("333\n")
with open(r"H:\PycharmProjects\test\a.txt", mode = 'w', encoding = "utf-8") as f:
f.write("444\n")
三、字符编码
字符==========编码==========》数字
字符《========解码===========数字
字符编码表:字符与数字的对应关系
ASCⅡ表:英文字符与数字的关系
用1Bytes对应一个英文字符
GBK表:英文字符与中文字符跟数字的对应关系
用2Bytes对应一个字符
Shift-JIS:英文字符与日文字符跟数字的对应关系
Euc-KR:英文字符与韩文字符跟数字的对应关系
utf-8:"万国字符与数字的关系"
1Bytes=====》1个英文字符
3Bytes=====》1个中文字符
四、处理文本文件
with open('d.txt',mode='wt',encoding='utf-8') as f:
    f.write("哈哈哈哈")
with open('d.txt', mode='rt', encoding='utf-8') as f:
    print(f.read())
五、处理非文本文件
src_file_path = input("请输入源文件路径:").strip()
dst_file_path = input("请输入目标文件路径:").strip()
src_file_path = r"%s" %src_file_path
dst_file_patn = r"%s" %dst_file_path
with open(src_file_path, mode = 'rb') as src_f, \
        open(dst_file_path, mode = 'wb') as dst_f:
    for line in scr_f:
        dst_f.write(line)
data = src_f.read()
dst_f.write(data)
六、模块
import os
import time
...
print('hello')
time.sleep(3)
print('world')
预科班D12的更多相关文章
- 预科班D8
		
2020.09.16星期三 预科班D8 学习内容: 一.注释 单行注释 ==>用 # 写在上一行或者该行后面 多行注释 ==>用 ''' '''或""" &q ...
 - 预科班D6
		
2020.09.14星期一 预科班D6 学习内容: 自习 发布小游戏 1.配置网络 #查看当前ip ifconfig #关闭NetworkManager systemctl stop NetworkM ...
 - 预科班D2
		
2020.09.08星期二 预科班D2 学习内容: 一.复习 1.平台: 平台=操作系统+计算机硬件 2.跨平台性 3.文件 文件是指操作系统提供给上层使用者操作硬盘的一种功能.
 - 预科班D9
		
2020.09.17星期四 预科班D9 学习内容: 一.列表与字典的嵌套 大前提:将所有同学的信息存起来,取值需求 1.取第二个学生的性别 stus_info = [ {"name" ...
 - 预科班D11
		
2020.09.21星期一 预科班D11 学习内容: 一.基本数据类型及内置方法 1.整形int及浮点型float + - * / // ** % > < >= <= 2.字符 ...
 - angularJS(2)
		
angularJS(2) 今天先讲一个angularJs的表单绑定实例: <div ng-app="myApp" ng-controller="formCtrl&q ...
 - AngularJs之二
		
今天先讲一个angularJs的表单绑定实例: <div ng-app="myApp" ng-controller="formCtrl"> < ...
 - Wooyun隐写术总结
		
之前还没有见到drops上有关于隐写术的总结,我之前对于隐写术比较有兴趣,感觉隐写术比较的好玩.所以就打算总结总结一些隐写术方面的东西.写的时候,可能会有错误的地方,请不吝赐教,谢谢. 本篇章中用到的 ...
 - mysql学习【第3篇】:使用DQL查询数据
		
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第3篇]:使用DQL查询数据 DQL语言 DQL( Data Query Lan ...
 
随机推荐
- 算法-搜索(4)ISAM算法
			
ISAM技术是一种典型的多叉搜索树结构,它使用了3级索引结构:主索引.柱面索引.磁道索引 所有数据记录在基本区按关键码升序排序,后一磁道所有关键码均大于前一磁道.在某一磁道插入新记录时,如果原来该磁道 ...
 - 团队作业4:第五篇Scrum冲刺博客(歪瑞古德小队)
			
目录 一.Daily Scrum Meeting 1.1 会议照片 1.2 项目进展 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 Code Review 记录 3.3 issue ...
 - swagger的导出
			
swagger-export是一个提供swagger文档导出功能的服务,不依赖于具体的API接口服务实现,你可以很方便地导出html和pdf两种格式的静态文档.源码来自swagger导出静态API文档 ...
 - 基于.NetCore3.1系列 —— 日志记录之初识Serilog
			
一.前言 对内置日志系统的整体实现进行了介绍之后,可以通过使用内置记录器来实现日志的输出路径.而在实际项目开发中,使用第三方日志框架(如: Log4Net.NLog.Loggr.Serilog.Sen ...
 - el-dialog“闪动”解决办法
			
问题描述:el-dialog关闭的时候总是出现两次弹窗 解决思路:既然是el-dialog产生的那就直接杀掉el-dialog 代码实践:在el-dialog上添加上一个v-if,值就是用闭窗的值,促 ...
 - Labview学习之路(六)条件结构
			
条件结构位于 函数---结构 子选版中.相当于c语言的switch语句, 结构: 分支选择器 分支器标签 分支子框图 可接数据类型 布尔型 布尔常量 真和假 错误信息簇 真和假 整型数值 单值 可 ...
 - oa项目面试准备
			
熟悉项目在ssm框架下的编程流程,了解mysql html spring springmvc mybatis技术.了解过springboot编程. 在上个寒假跟着培训机构用springboot框架编写 ...
 - 如何使用Grep命令查找多个字符串
			
如何使用Grep 命令查找多个字符串 大家好,我是良许! 今天向大家介绍一个非常有用的技巧,那就是使用 grep 命令查找多个字符串. 简单介绍一下,grep 命令可以理解为是一个功能强大的命令行工具 ...
 - Spring源码学习(六)-spring初始化回调方法源码学习
			
1.spring官方指定了三种初始化回调方法 1.1.@PostConstruct.@PreDestory 1.2.实现 InitializingBean DisposableBean 接口 1.3. ...
 - Kubernetes-5:搭建企业级私有仓库Harbor
			
搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...