2018.12.5 今日所学

今日主要学习了

1. 初识文件操作
2. 只读(r, rb)
3. 只写(w, wb)
4. 追加(a, ab)
5. r+读写
6. w+写读
7. a+写读(追加写读)
8. 其他操作方法
9. 文件的修改以及另一种打开文件句柄的方式

一. 初识文件操作

1. 文件中我们经常用open来打开文件,或取到文件的句柄. 然后通过文件句柄就可以对文件进行各种各样的操作了.根据打开方式的不同能够执行的操作也会有不同的操作.

打开文件的方式: r ,w,a ,a+,w+,a+,rb,wb,ab,r+b,w+b,a+b默认使用的是r(只读)模式

打开文件的基本操作: f= open(‘文件名‘,mode="r",encoding=‘utf-8‘)

路径:

1) 相对路径: 从文件内部一步一步的找到目标文件.

进文件: 文件名/

出文件: ../

2) 相对路径:

直接从磁盘里找到目标文件(这里有问题 ,建议少用)

日志:程序运行过程中记录的所有信息.

二. 只读操作(r, rb)

相关操作:1. read()默认的是读取全部内容

read(n)注意这里可以在括号里放数字n,这里的数字指的是读取几个字符

    2.readlines()这里表示的意思是读取一行 用strip可以去除  readlines是一次性把所有的内容全部读出来,返回的是列表.

for line in f:

print(line)

这里的line指的是每一行的内容

f = open("护士少妇嫩模.txt",mode="r", encoding="utf-8")
content = f.read()
print(content)
f.close()    #关闭文件

encoding表示的是编码集.根据文件的实际保存编码进行获取数据,常用的是utf-8

三. 只写操作.(w , wb)

这里的只写操作是在文件中写入数据.但是有一个问题 ,每次再用" w"的时候都会清空文件.

只写文件可以创建文件 . 如果你输入的文件不存在,会帮你创建一个文件,在执行只写操作

好习惯:

f.flush() 刷新管道

f.close() 关闭文件

四. 追加操作 .(a ,ab)

追加顾名思义,在最后追加,我们写入的内容会直接追加到文件的尾部.

这里的追加操作也可以创建新的文件

五. r+操作 偏重于读

必须是先读在写,一开始光标默认实在开头,准备读取的,当读完之后在进行写,使用频率相对来说比较高.

六 .写读操作(w+,w+b) 写读操作注重的是写

必须先写,在读( 这里读到的内容是空的)

先将所有的内容清空,再然后写入,最后读取.但是读取的内容是空的,不常用

六.追加读(a+)

a+模式下,不管是先读,还是后读,都是读取不到数据的.

七.其他操作

1. seek() 移动光标

f.seek(m,n) 两个参数

m: 这里的m表示的是偏移量

n:表示的是从n位置开始便宜默认是0 ,1 表示的是当前位置 , 2 表示的结尾

2 . tell 返回光标的所在位置

文件的修改(重点)

导入os模块 ,os模块表示的是操作系统  import  os

1. 先从文件中读取内容.

2.把需要进行的修改的内容进行修改

3.把修改好的内容放到一个新的文件中

4.删除原来的文件

5 .把文件重命名成原来的文件名字

在这里引入了一个新的语法词语: with

with可以帮我们自动关闭文件的链接

with open("夸一夸alex", mode="r", encoding="utf-8") as f, / ==>这里的/表示的是这两行代码是一行的
open("夸一夸alex_副本", mode="w", encoding="utf-8") as f2:

for line in f:
if "好人" in line:
line = line.replace("好人", "sb")
f2.write(line)

time.sleep(3)  程序停止三秒

原文地址:https://www.cnblogs.com/zty1304368100/p/10071476.html

时间: 2024-10-07 20:09:25

2018.12.5 今日所学的相关文章

2018.12.21 今日所学

今日所学 : 1 .类的约束 2 .异常处理 try except raise 3. MD5加密 4. 日记处理(不要记,留一份,侧重点再用) 1 .类的约束 1) 写一个父类,父类中的某个方法要抛出一个异常 NotlmplemenredError(重点) class Base: #创建一个父类约束子类 def login(self): raise NotImplementedeError('系统报错,请重新输入') # 扔一个错误给子类,约束他们按照指定的内容输入 class yonghu(B

2018.12.4 今日所学

今日只要学习了 一. 基础数据类型的补充 二 ..深浅拷贝 一 . 主要内容: 之前讲的int 跟 str 已经讲过了80%的内容 接下来说剩下的: 1 .join join与之前的spilt 作用是相反的.  join 是将列表中的数据通过操作变成字符串 . 而split是通过字符串的切割将字符串变成列表 . 具体用法:  如 :li = ["李嘉诚", "麻花藤", "?海峰", "刘嘉玲"] li1=' _ ' .joi

2018.12.6 今日所学

今日主要学习了 一. 什么是函数二. 函数定义, 函数名, 函数体以及函数的调?三. 函数的返回值四. 函数的参数 一, 什么是函数               如果找不到合适的函数名称 ,用 fu 或者是 func 类比于之前初中学的函数 f(x)=x+2  f(x)就是由x创建的函数 但是计算机中的函数与我们之前学习的函数有很大的差距 在python中, 我们创建函数需要用def创建函数,就是定义函数 例如: def fu(): print('打开陌陌') print('找到心仪的女生')

2018.11.29今日所学

今天主要学习了 列表 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操作(重点) 添加: 1. append() 追加 2. insert(位置, 元素) 插入指定元素到指定位置 删除: 1. pop(index) 根据索引删除 2. remove(元素)  根据元素删除 修改: 索引修改 lst[索引] = 元素 查询: for循环. 3. 列表的嵌套 多个列表互

【谜客帝国】第143届月思主擂谜会(2018.12.15)

 [谜客帝国]第143届月思主擂谜会(2018.12.15) 主持:瓷  计分:默沫 1.“六根清净几人有”(6笔字)伉/月思 [注:面出黄若初<访山寺偶成>,“?,一世荣华百岁无.”] 2. 数点霁霞山外断(3字足球术语)541/月思 3.“鸟上残花枝畔啼”(11笔字)菌/月思 [注:面出谢宗万<道中即景>,“客临古渡岸前望,?.”] 4.“白屋风光难入眼”(列人二,2+2)舍之.景差/月思 [注:面出黄东<山居抚琴>,“?,任凭曲韵释忧愁.”] 5.“任凭曲韵释忧愁

Archives: 2018/12

学而时习之,不亦乐乎 分类 linux3 运维3 专题7 事务1 会话1 数据一致性2 算法1 设计模式1 集合1 工具4 Maven1 docker3 并发编程8 多线程8 框架11 Netty1 Spring10 消息中间件5 Kafka4 RabbitMQ1 锦绣前程1 时光轴 七月 20198 六月 20197 三月 20193 二月 201913 十二月 20189 友情链接 享学课堂 朝 大专栏  Archives: 2018/12·闻·道 主题作者 撄而后成 Maven环境隔离 网

2018春招-今日头条笔试题-第三题(python)

题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出'1234567890',对于输入表达试获得对应的结果利用python内置函数eval()即可以实现.利用5个字符串来表达'1234567890',如下(为了好看,里面加了tab空格符) '66666 ....6 66666 66666 6...6 66666 66666 66666 66666 66666''6...6 ....6 ....6 ....6 6...6 6.... 6

2018.12.1 Test

目录 2018.12.1 Test A 串string(思路) B 变量variable(最小割ISAP) C 取石子stone(思路 博弈) 考试代码 B C 2018.12.1 Test 题目为2018.1.2雅礼集训. 时间:3.5h 期望得分:100+30+10 实际得分:100(0)+0+10 A 串string(思路) 如果一个串不是回文串,答案是1(我竟然漏了QAQ). 否则,除了以下三种情况无解外,都能两次消掉: aaaaa aabaa ababa 判一下就OK了. #inclu

2018.12.3

今日所学 一.  小数据池 二.  is 和==的区别 三.  编码的问题 一.小数据池的作用 用来缓存数据 可以作用的数据类型: 整数(int), 字符串(str), 布尔值(bool). 什么是块? 代码块: ?个模块, ?个函数, ?个类, 甚?每?个command命令都是?个代码块. ?个?件也是? 个代码块, eval()和exec()执?的时候也是?个代码块 二 . is 和== 的区别 id() 通过id 可以查找到一个变量表示的值在内存中的地址. 例如: .    s = 'al