第八章 永久存储[DDT书本学习 小甲鱼]【1】

8.1 文件:因为懂你,所以永恒
CPU-内存
CPU-硬盘
==========================================================
8.1.1打开文件 open()函数打开并且返回文件对象
open()有很多参数,作为初学者,先关注第一和第二个参数即可。
open(带路径的文件名,指定文件打开模式)
----------------------------------------------
"r"只读模式(默认)
"w"写入模式 覆盖已经存在的文件
"x"如果文件存在,此模式打开引发异常
"a"以写入模式打开,文件若存在,末尾追加写入
"b"以二进制打开文件
"t"以文本模式打开(默认)
"+"可读写模式
"U"通用换行符支持
----------------------------------------------
f=open("命令.txt")
没有消息就是好消息,文件成功被打开了。
============================================================
8.1.2 文件对象的方法
close()关闭文件
read(size=-1)从文件读取size个字符,未给定或者为负值时候,读取剩余所有字符,
作为字符串返回
readline()从文件中读取一整行字符串
write(str)将字符串str写入文件
writelines(seq)向文件写入字符串序列,seq应该是一个返回字符串的可迭代对象
seek(offset,from)在文件中移动指针,从from(0-起始 1-当前 2-末尾)偏移offset个字节
tell()返回当前在文件中的位置
==============================================================
8.1.3文件的关闭
close()用于关闭文件。忘记关闭Python最后会自动关闭文件。但是防止断电丢失数据,养成
使用完成后及时关闭文件的习惯。
8.1.4文件的读取和定位
文件的读取方法有很多:用文件对象的read()和readline()方法。也可以直接list(f)或者迭代
来读取。
read()是按照字节为单位读取,如果不设置参数,会全部读取,指针指向文件末尾。
tell()方法可以告诉你当前文件指针的位置。
代码如下
f=open("命令.txt",encoding="UTF-8")
print(f.read())
print(f.tell())
print(f.seek(0,0))
print(f.read(4))
print(f.tell())
----------------------------
6. setdefault()方法和get()方法相似,区别是get()找不到返回空或指定值
而setdefault()方法在找不到的时候,进行设置添加值。
a={1:"one",2:"two",3:"three",4:"four"}
print(a.setdefault(3))
print(a.setdefault(5))
247
0
6. s
4
===========================
f=open("命令.txt",encoding="UTF-8")
print(f.readline())
------------------------readline()读取一行,直到遇到\n为止
6. setdefault()方法和get()方法相似,区别是get()找不到返回空或指定值
========================================
列表也很强大,什么都可以往里面放!
print(list(f))
------------------
[‘6. setdefault()方法和get()方法相似,区别是get()找不到返回空或指定值\n‘, ‘而setdef...]
========================================================
用了列表去装载后,可以发现,元素个数由行数决定了,列表元素个数=行数。
f=open("命令.txt",encoding="UTF-8")
f.seek(0,0)
lines=list(f)
for each in lines:
print(each)
------------------上述没有错,只是有点酒精灯烧开水----效率低。因f本身支持迭代!
f=open("命令.txt",encoding="UTF-8")
f.seek(0,0)
for each in f:
print(each)
----------------------
6. setdefault()方法和get()方法相似,区别是get()找不到返回空或指定值

而setdefault()方法在找不到的时候,进行设置添加值。

a={1:"one",2:"two",3:"three",4:"four"}

print(a.setdefault(3))

print(a.setdefault(5))

=====================================================================
8.1.5 文件的写入
如果要写入文件,请确保打开之前模式有"w"或"a",否则出错
f=open(r"C:\Users\Daodantou\Desktop\record.txt",encoding="UTF-8")
f.write("中华人民共和国万岁")
------------- 写入失败 -----------------
Traceback (most recent call last):
File "C:/Users/Daodantou/PycharmProjects/s14/day7/t2.py", line 2, in <module>
f.write("中华人民共和国万岁")
io.UnsupportedOperation: not writable
=================================================改写代码
f=open(r"C:\Users\Daodantou\Desktop\record.txt","a",encoding="UTF-8")
f.write("中华人民共和国万岁")
f.close()
--------------------------------------------------------
======我就是个跟屁虫。=======中华人民共和国万岁
==========================================================================
f=open(r"C:\Users\Daodantou\Desktop\record.txt","w",encoding="UTF-8")
f.write("中华人民共和国万岁")
f.close()
---------------------------
中华人民共和国万岁
==============================================================================

原文地址:https://www.cnblogs.com/daodantou/p/10351778.html

时间: 2024-07-30 07:35:41

第八章 永久存储[DDT书本学习 小甲鱼]【1】的相关文章

第八章 永久存储[DDT书本学习 小甲鱼]【2】

8.1.6 一个任务题目:将record.txt中的对话进行分割,并按照以下规则进行保存起来.1.小甲鱼的对话单独保存为boy_*.txt的文件(去掉"小甲鱼:")2.小客服的对话单独保存为girl_*.txt的文件(去掉"小客服:")3.文章中有三段对话,分别保存为boy_1.txt.boy_2.txt.boy_3.txt.girl_1.txt.girl_2.txt.girl_3.txt.共6个文件.(提示:每段对话用"==="隔开了)****

第八章 永久存储[DDT书本学习 小甲鱼]【3】

8.2 文件系统:介绍一个高大上的东西 Python自身带有很多使用的模块. 比如random模块的randint()函数生成随机数,不能直接调用,要引入. import random random.randint(0,9)========================================================OS模块,就是Operating System的缩写,意思是操作系统,平时说的ios是指iPhone OS的意思,苹果操作系统.Python是跨平台语言,同样代码在

第九章 异常处理[DDT书本学习 小甲鱼]【1】

9.1 你不可能总是对的举例如下file_name=input("请输入文件的名称:")s="C:\\Users\\Daodantou\\Desktop\\"+file_namef=open(s,"r",encoding="UTF-8")print("文件的内容是:")for each in f: print(each)-------------------------------请输入文件的名称:reco

第三章 必须知道的一些基础知识[DDT书本学习 小甲鱼]【2】

3.6 条件分支========================完成第一个要求 提示作用 计算机如何比较 > < == != >= <= 操作符 开始例子源码 '''=========猜数字游戏==============''' i=7 number=input("猜猜我手中的数字是?:") n=int(number) if n==i: print("你猜对了!") else: if n>i: print("猜大了"

第五章 列表、元组和字符串[DDT书本学习 小甲鱼]【4】

5.1.9 关于分片"拷贝"的概念补充 [真正的拷贝是切片] 代码 list1=[1,3,2,9,7,8] list2=list1[:] print(list2) list3=list1 print(list3) ---------------------- [1, 3, 2, 9, 7, 8] [1, 3, 2, 9, 7, 8] 以上代码看似一样的输出结果,事实上呢,作如下修改后 list1 = [1, 3, 2, 9, 7, 8] list2 = list1[:] list3=l

第六章 函数[DDT书本学习 小甲鱼]【1】

6.1Python的乐高积木 程序分解为小的组成部分.三种方法实现:函数.对象.模块6.1.1 创建和调用函数 以前接触到的BIF就是Python帮我们封装好的函数 def 德芙 关键字: 代码如下 def myFirstFunction(): print("大家好,我是新来的1") print("大家好,我是新来的2") print("大家好,我是新来的3") myFirstFunction() 重复三次,该如何做? for i in rang

第六章 函数[DDT书本学习 小甲鱼]【3】

6.5 lambda表达式 谐音:懒不嗒?lam-b-da 匿名函数 代码 def my(x): teturn 2*x+1 e=my(5) print(e) --------------------- 11 如果使用lambda语句来定义,会是这样 lambda x:2*x+1 返回的是一个函数对象 进行使用,代码如下 g=lambda x:2*x+1 print(g(5)) ------------------------ 11 ================================

第七章 字典和集合[DDT书本学习 小甲鱼]【3】

4.copy() 复制字典a={1:"one",2:"two",3:"three"}b=a.copy()print(id(a))print(id(b))a[1]="four"print(a)print(b)-------------------24311023227282431102322800{1: 'four', 2: 'two', 3: 'three'}{1: 'one', 2: 'two', 3: 'three'}==

第四章 了不起的分支和循环[DDT书本学习 小甲鱼]【2】

4.4 Python可以有效避免"悬挂else" Python的缩进使用强制规定使得代码必须正确对齐,else属于那个if清晰可见.4.5 条件表达式(三元操作符) 代码 if x<y: small=x else: small=y 将以上代码用三元操作符来表示 语法 a=x if 条件 else y 含义:如果条件真则a=x,如果条件假则a=y. 代码改进 small=x if x<y else y Python的代码简洁高效!!!4.6 断言 assert 是分支if的近