鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[课后作业] 第053讲:永久存储(上)| 课后测试题及答案

  [复制链接]
发表于 2022-11-7 20:17:14 | 显示全部楼层
f = open("FishC.txt", "r+")
a = f.read()
a[9:15]

d = open("FishD.txt", "w")
d.writelines(a[9:15])
d.close()
f.close()


f = open("FishC.txt", "r+")
f.tell()
f.truncate(15)
f.close()



f = open("open_myself.py", "r")
f.read()
f.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-8 09:37:29 | 显示全部楼层
0.不会,会生成一个新的文件
1.with open
2.表示读取3个字符
3.一行,writelines不会自动添加换行符
4.。。。
5.f = open(r:"C:\Users\goodb\Desktop\FishC.txt", "w")
6。。。。
7.不行
8.定位文本位置
9.。。。
10.f.tell()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-8 09:53:54 | 显示全部楼层
本帖最后由 小古比鱼 于 2022-11-8 11:12 编辑

问答题:
0. 取决于mode参数,若为'r'则会报错,若为'w'则不会报错。
1. 使用flush()方法。
2. 读取文件指针所在位置之后的3个字符。
3. 1行,因为writelines()方法不会自动添加换行符。
4. 因为print()函数会在打印结束后自动添加一个换行符(end='\n')。
5. 因为'\'将后边的字符转义了,致使路径出错。
6. 若该文件已存在,则会以一个全新的空文件覆盖原文件。
7. 可以,将会自动创建一个新文件。
8. 指示读取和写入的位置。
9. End Of File,即文件末尾。
10. 使用tell()方法。

动动手:
0.
f = open('FishC.txt')
g = open('FishD.txt','w')
f.seek(10)
g.write(f.read(5))
g.close()
f.close()
1.
f = open('FishC.txt','r+')
f.truncate(15)
f.close()
2.
f = open('open_myself.py')
print(f.read())
f.close()
3.
jpg = open('test.jpg','ab')
zip = open('target.zip','rb')
jpg.write(zip.read())
zip.close()
jpg.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-9 10:51:40 | 显示全部楼层
本帖最后由 lxping 于 2022-11-9 11:59 编辑

0、使用写入模式"w"不会报错,会创建一个同名文件。使用读取模式"r",文件不存在就会报错
1、使用flush()方法进行保存
2、读取3个字符
3、1行,没有加入换行符
4、文件中单行末尾有一个换行符会被读取,print语句默认打印末尾带换行符,这样就有2个换行符了,如果使用print(each,end=""),就不会有这个问题
5、编码格式不正确,打开模式应该设置为"wb"(x)
正确答案:因为路径中存在转义字符,导致文件路径解析错误。
f = open(r"C:\Users\goodb\Desktop\FishC.txt", "w")
6、文件是否已存在,且文件中原有内容是否有用,因为使用"w"模式打开后,文件中原有内容将被清除
7、可以
8、指定文件读取或者写入的位置
9、end of the file:文件末尾
10、使用f.tell()方法

动动手
0、
with open("FishC.txt") as f
    f.seek(9)
    s = f.read(6)
with open("FishD.txt","w") as r:
    f.write(s)
1、
with open("FishC.txt","r+") as f:
    f.seek(15,0)
    f.truncate()
2、
with open("open_myself.py") as f:
    for each in f:
        print(each,end="")
3、
with open("test.jpg","ab") as f:
    g = open("target.zip","rb")
    for each in g:
        f.write(each)
    g.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-9 15:14:52 | 显示全部楼层
0.不会
1.flush函数
2.读取3个字符
3.一行
4.print()本身会换行
5.\的问题
6.如果文件已存在,文件的内容会被删掉
7.可以
8.标记现在位置
9.end of file 文件的末
10.tell函数

0.f = open(r"C:\Users\黄佳群\Downloads\FishC (2).txt","r")
for i in f:
        i = i[10:15]
f.close()
q = open("FishD.txt","w")
q.write(i)
q.close()
1.f = open(r"C:\Users\黄佳群\Downloads\FishC (2).txt",'r')
for i in f:
        i = i[:15]
f.close()
f = open(r"C:\Users\黄佳群\Downloads\FishC (2).txt",'w')
f.write(i)
f.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-9 16:14:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 05:35:15 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 15:14:09 | 显示全部楼层
0、不一定
1、flush()
2、从指针开始读取3个字符
3、1
4、print末尾有换行
5、
6、保存数据,避免截断
7、可以
8、读取的起始位置
9、文件末尾
10.f.tell()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-10 21:19:04 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-11 16:14:34 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-12 11:17:18 | 显示全部楼层
问答
0.不会
1.with open
2.指针为3
3.1
4.
5.文件格式有误
6.有这个文件
7.不可
8.找到写的位置
9.
10.size
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-12 14:29:44 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-13 16:03:35 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-15 15:56:36 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-16 16:28:28 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-17 14:35:22 | 显示全部楼层
0.不会报错,他会在默认路径那里创建一个的
1.可以用file.flush()
2.都第四行的意思?好吧,我去搜了一下是制定参数的话就读取制定的个数这样子的
3.一行
4.为了方便你看?
5.转义字符的原因
6.如果是打开已经存在的,它打开的时候会先清空了原来的
7.可以把,你让我去看看你发的函数文档,查完之后我举得不行(啧)
8.就是指针嘛,方便一些从某个特定的地方开始阅读啥的
9.end of file,英语难不倒我的
10.f.tell()查的
0.
f=open(r'D:\学习\python\FishC.txt','r')
f.seek(0)
words=f.read()
words=words[9:15]
new=open(r'D:\学习\python\FishD.txt','w')
new.write(words)
new.close()
1.
f=open(r'D:\学习\python\FishC.txt','+a')
f.seek(0)
f.truncate(15)
f.close()
2.
f=open(r'D:\学习\python\open_myself.py','r')
f.seek(0)
for each in f:
    print(each)
3.我想看看答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-17 16:08:15 | 显示全部楼层
0.会
1.f.flush()方法,将缓存写入文件,但不一定有效
2.表示读取指针所在位置的后三个字符
3.一行
4.不知道
5.\为转义符,\U会报错
6.文件已存在的时候会截断清空
7.可以
8.确定读取的位置
9.end of file 文件末尾
10.f.tell()
动动手:
0.
f=open("FishC.txt",'r')
f.seek(9)
d=open("FishD.txt",'w')
d.write(f.read(6))
1.
f=open("FishC.txt",'r+')
f.truncate(15)
2.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-17 16:50:02 | 显示全部楼层
小甲鱼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-18 00:10:15 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-18 10:13:03 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-12 08:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表