预科班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 ...
随机推荐
- NRF52840 添加 led service
记录NRF52840 添加LED service的流程,以及遇到的问题. 由于SDK中已经有了led service的.c和.h文件,因此只需要添加文件,并且调用相关函数即可. 注:编译调试环境为ke ...
- Vue管理系统前端系列四组件拆分封装
目录 组件封装 首页布局拆分后结构 拆分后代码 状态管理中添加 app 模块 组件封装 在上一篇记录中,首页中有太多的代码,为了避免代码的臃肿,需要对主要的功能模块拆分,来让代码看起来更简洁,且能进行 ...
- centos iso镜像自动挂载
vim /etc/fstab 添加如下行:/usr/ison/centos.iso /media/cdrom iso9660 defaults,loop 0 0
- 操作系统-进程(3)Linux下的进程相关命令
操作系统给予这个内存中的单元一个标识符(PID)依据登入者的UID/GID(/etc/passwd) 衍生出的其它程序(子程序),一般情况也,也会沿用这个程序(父程序)的相关权限 ParentID(P ...
- 第4篇scrum冲刺(5.24)
一.站立会议 1.照片 2.工作安排 成员 昨天已完成的工作 今天的工作安排 困难 陈芝敏 完成云开发配置,初始化数据库: 线下模块(还剩下获取词的数据库) 倒计时模块的初加载还是有点慢 冯晓凤 ...
- Play it again: reactivation of waking experience and memory
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Trends in Neurosciences, no. 5 (2010): 220-229 Abstract 回合空间记忆均涉及海马体神 ...
- 精讲响应式WebClient第5篇-请求超时设置与异常处理
本文是精讲响应式WebClient第5篇,前篇的blog访问地址如下: 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法 精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方 ...
- SPSSAU数据分析思维培养系列2:分析方法
大家好!在上篇文章中,我们一起学习了如何掌握正确的数据处理思维(文章链接:https://www.cnblogs.com/spssau/p/12523530.html).在完成数据准备和清理工作后,就 ...
- neighbor和neigh_modify(转载)
(转载:http://blog.sina.com.cn/s/blog_b48a7ac30102w4mg.html###) 以下取自:http://simulation.haotui.com/viewt ...
- 看视频常见的 720p、1080p、4k,这些分辨率到底包含了什么
从早期的420p,到后来的720p,到现在的非1080p不看.视频的清晰度飞快提升,但是在看到色彩越来越丰富清晰度越来越高的画面时,你有关注过他们的到底是怎么做到的么?我们一起来了解一下吧. 想必大家 ...