鱼C论坛

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

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

  [复制链接]
发表于 2025-4-13 11:47:02 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:
不一定,写入的话会创建一个文件
第 1 题的答案是:
flush()方法
第 2 题的答案是:
表示读取三个字符
第 3 题的答案是:
一行
第 4 题的答案是:

第 5 题的答案是:
要使用转义字符将斜杠再进行转义
第 6 题的答案是:
如果文件以存在就会清空文件内容
第 7 题的答案是:
不可以
第 8 题的答案是:
指向第n个字符
第 9 题的答案是:
end of file文件末尾
第 10 题的答案是:
.tell()
-------- 动动手 --------

请将第 0 题的代码写在下方:
f1 = open("FishC.txt" , "r")
string = f1.read(-1)
string = string[10:16]
f1.close()
请将第 1 题的代码写在下方:
f2 = open("FishD.txt" , "w")
f2.write(string)
f2.close()
f2 = open("FishC.txt","r+")
f2.truncate(16)
f2.close()
请将第 2 题的代码写在下方:

请将第 3 题的代码写在下方:
f1 = open("test.jpg" , "ab+")
f2 = open("target.zip" , "rb+")
target = f2.read()
f1.write(target)
f1.close()
f2.close()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-14 16:00:30 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:不会,会新建一个同名文件

第 1 题的答案是:用f.flush()

第 2 题的答案是:读取3个字符

第 3 题的答案是:一行,writelines不会主动换行

第 4 题的答案是:循环结束一次,自动化换行一次

第 5 题的答案是:\使用错误,路径中可以使用\\或者/

第 6 题的答案是:之前的内容可能会被覆写

第 7 题的答案是:母鸡啊

第 8 题的答案是:定位现在读取到文件的什么位置了

第 9 题的答案是:end of file文件的末尾

第 10 题的答案是:tell()

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-14 23:30:13 | 显示全部楼层
动动手最后一题,按照代码执行后,把图片后缀改成 zip 后,双击解压缩,显示错误。
截屏2025-04-14 23.27.25.png
截屏2025-04-14 23.27.10.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-16 09:55:34 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-4-19 00:15:37 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:不会,会创建一个新的文件

第 1 题的答案是:利用flush方法

第 2 题的答案是:读取指针为3的数据

第 3 题的答案是:一行

第 4 题的答案是:因为结尾默认换行??

第 5 题的答案是:路径的名应该使用转义字符f = open(r"C:\Users\goodb\Desktop\FishC.txt", "w")

第 6 题的答案是:会清空文件

第 7 题的答案是:可以

第 8 题的答案是:指定文件读取或者截取的位置

第 9 题的答案是:end of file

第 10 题的答案是:f.tell()

-------- 动动手 --------

请将第 0 题的代码写在下方:
f = open("FishC.txt","r+")
f.truncate(15)
f.seek(10)
z = " "
for i in f:
    z = i
g = open("FishD.txt","w")
g.write(z)
g.close()
f.close()



请将第 1 题的代码写在下方:
f = open("FishC.txt","r+")
f.truncate(15)
f.close()


请将第 2 题的代码写在下方:
f = open("123.py","r")
print(f)
f.close()



请将第 3 题的代码写在下方:
f = open("test.jpg","rb")
k = open("target.zip","rb")
f1 = f.read()
k1 = k.read()
z = open("new.jpg","wb")
z.write(f1+k1)
f.close()
k.close()
z.close()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-19 11:00:23 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

第 6 题的答案是:

第 7 题的答案是:

第 8 题的答案是:

第 9 题的答案是:

第 10 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-21 17:03:17 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:
有文件则打开,没有文件就创建
第 1 题的答案是:
f.flush()方法
第 2 题的答案是:
读取指针后面三个字符
第 3 题的答案是:
一行
第 4 题的答案是:
print默认自带换行符,和\n冲突
第 5 题的答案是:
路径中有\被当作转义字符了
第 6 题的答案是:
'w'会清空原本的字符
第 7 题的答案是:
可以
第 8 题的答案是:
从哪里开始
第 9 题的答案是:
结尾
第 10 题的答案是:
f.tell()方法
-------- 动动手 --------

请将第 0 题的代码写在下方:
def truncate10_15(file,file2):
    f = open(file, 'r')
    f.seek(10)
    a = f.read(5)
    f.close()
    f = open(file2, 'w')
    f.write(a)
    f.close()

file1 = r"D:\Desktop\FishC.txt"
file2 = r"D:\Desktop\FishD.txt"
truncate10_15(file1, file2)


请将第 1 题的代码写在下方:
def first_15(file):
    f = open(file, 'r+')
    f.seek(15)
    f.truncate()
    f.close

file = r"D:\Desktop\FishC.txt"
first_15(file)


请将第 2 题的代码写在下方:
path = r"D:\Desktop\open_myself.py"
f = open(path, 'r')
for i in f:
    print(i,end='')


请将第 3 题的代码写在下方:
path1 = r"D:\Desktop\target.zip"
path2 = r"D:\Desktop\test.jpg"

f1 = open(path1, 'br')
f2 = open(path2, 'ba')

f2.write(f1.read())
f2.close()
f1.close()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-23 10:26:39 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

第 6 题的答案是:

第 7 题的答案是:

第 8 题的答案是:

第 9 题的答案是:

第 10 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-23 10:39:33 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-4-23 15:56:29 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

第 6 题的答案是:

第 7 题的答案是:

第 8 题的答案是:

第 9 题的答案是:

第 10 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-27 04:25:18 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:
如果尝试使用 open() 函数以默认模式('r',即只读模式)打开一个不存在的文件,Python 会抛出 FileNotFoundError 异常
第 1 题的答案是:
使用 flush() 方法
第 2 题的答案是:
限制单次读取的最大字符数
第 3 题的答案是:
一行,FishAFishBFishC
第 4 题的答案是:
for each in f: 读取时,each 已经包含 \n
第 5 题的答案是:
这个错误是因为 Python 将文件路径中的 \U 开头的部分错误地解析为 Unicode 转义字符(类似 \uXXXX 或 \UXXXXXXXX),但 \Users 不是一个合法的 Unicode 转义序列,所以报错。


第 6 题的答案是:
"w" 模式会直接覆盖原文件(如果文件已存在,所有内容会被清空
第 7 题的答案是:
可以,如果文件不存在,使用 "a"(追加模式)打开文件时,Python 会自动创建一个新文件,而不会报错
第 8 题的答案是:
跟踪文件读写位置 的标记
第 9 题的答案是:
是一个标记,表示 数据流的终止位置
第 10 题的答案是:
可以使用 tell() 方法 获取
-------- 动动手 --------

请将第 0 题的代码写在下方:
# 步骤 1:打开原文件并读取内容
with open("FishC.txt", "r", encoding="utf-8") as src_file:
    content = src_file.read()  # 读取全部内容

# 步骤 2:截取第10~15个字符(Python索引从0开始,实际是9~14)
target_text = content[9:15]  # 第10字符是索引9,第15字符是索引14(不包含15)

# 步骤 3:将截取的内容写入新文件
with open("FishD.txt", "w", encoding="utf-8") as dest_file:
    dest_file.write(target_text)

print(f"成功截取并保存为 FishD.txt,内容:{target_text}")


请将第 1 题的代码写在下方:
# 步骤1:读取原文件内容
with open("FishC.txt", "r", encoding="utf-8") as file:
    content = file.read()  # 读取全部内容

# 步骤2:截取前15个字符
new_content = content[:15]  # 切片取前15字符(索引0~14)

# 步骤3:覆盖写入原文件
with open("FishC.txt", "w", encoding="utf-8") as file:
    file.write(new_content)

print(f"文件已覆盖,新内容:{new_content}")


请将第 2 题的代码写在下方:
with open(__file__, "r", encoding="utf-8") as f:
    print(f.read())


请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-28 15:50:02 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

第 6 题的答案是:

第 7 题的答案是:

第 8 题的答案是:

第 9 题的答案是:

第 10 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-29 15:58:08 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:不会,会创建这个文件

第 1 题的答案是:使用f.flush()方法

第 2 题的答案是:读取一行中的3个字符

第 3 题的答案是:一行

第 4 题的答案是:因为each会打印\n换行字符

第 5 题的答案是:这个报错是因为字符串中反斜杠转义的问题

第 6 题的答案是:注意指针的位置,防止将原文件进行覆盖

第 7 题的答案是:不可以

第 8 题的答案是:相当于下标在指定位置进行修改文件

第 9 题的答案是:文件结束时的标志

第 10 题的答案是:用f.tell()方法

-------- 动动手 --------

请将第 0 题的代码写在下方:
f=open(r"C:\Users\ASUS\Downloads\FishC.txt","r+")
f.seek(9)
content=f.read(6)

f1=open("FishD.txt","w")
f1.write(content)

f.close()
f1.close()


请将第 1 题的代码写在下方:
f=open(r"C:\Users\ASUS\Downloads\FishC.txt","r+")
f.truncate(15)
f.truncate()


请将第 2 题的代码写在下方:
f=open(r"C:\Users\ASUS\Desktop\open_myself.py.txt","r")
print(f.read())
f.close()


请将第 3 题的代码写在下方:
f1=open(r"d:\vscode\code\target.zip","rb")
hidden_content=f1.read()
f1.close()

f2=open(r"d:\vscode\code\test.jpg","rb")
img_content=f2.read()
f2.close()

f3=open(r"d:\vscode\code\hidden.jpg","wb")
f3.write(img_content)
f3.write(hidden_content)
f3.close()

print("文件已隐藏到图片中!新文件名为hidden.jpg")
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-29 20:56:02 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

第 6 题的答案是:

第 7 题的答案是:

第 8 题的答案是:

第 9 题的答案是:

第 10 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-2 19:47:10 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

第 6 题的答案是:

第 7 题的答案是:

第 8 题的答案是:

第 9 题的答案是:

第 10 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-3 08:09:27 | 显示全部楼层
1请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

第 6 题的答案是:

第 7 题的答案是:

第 8 题的答案是:

第 9 题的答案是:

第 10 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-4 21:34:53 | 显示全部楼层
0、不一定,使用w可以创建文件

1、flush()方法可以在未关闭的情况下

2、读取一行,指定了size的值,那么久就是读取一行中的多少个字符

3、一行,因为没有加换行符

4、writelines会默认添加代码

5、斜杠使用错误

6、使用w打开文件的时候,首先会将文件内容全部进行截断

7、可以,如果文件不存在则会自动新建文件

8、指向当前文件内容的读取位置

9、一种状态标记,表示数据流读取已经到达末尾。

10、f.tell()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-5 15:21:37 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:可能不报错,如果是写入的方式打开会创建一个文件

第 1 题的答案是:用with语句

第 2 题的答案是:从当前行最多读取3个字符,如果不足三个则全部读取,如果size为

第 3 题的答案是:一行

第 4 题的答案是:print追加了默认的换行符导致输出看起来多了一行

第 5 题的答案是:\需要进行转义,用/或者\\来替换其中的\

第 6 题的答案是:'w'会清空原来的文件,所以尽量使用r+模式来替代w模式

第 7 题的答案是:可以,'a'为追加模式,以该模式打开默认指针在队尾,确保能够将内容写入文件的后面

第 8 题的答案是:指引文件写入或者读取的位置

第 9 题的答案是:

第 10 题的答案是:tell()

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-6 09:37:19 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

第 6 题的答案是:

第 7 题的答案是:

第 8 题的答案是:

第 9 题的答案是:

第 10 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-5-8 09:58:37 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:不会

第 1 题的答案是:flush()

第 2 题的答案是:读取第三行的数据

第 3 题的答案是:3行

第 4 题的答案是:writelines本身就带一个空行

第 5 题的答案是:无法解析文件路径

第 6 题的答案是:文件是否有截断

第 7 题的答案是:可以

第 8 题的答案是:记录文件当前读取位置

第 9 题的答案是:文件末尾 end of file

第 10 题的答案是:tell()

-------- 动动手 --------

请将第 0 题的代码写在下方:



请将第 1 题的代码写在下方:



请将第 2 题的代码写在下方:



请将第 3 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-2 15:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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