大饭想好好学习 发表于 2022-11-7 20:17:14

f = open("FishC.txt", "r+")
a = f.read()
a

d = open("FishD.txt", "w")
d.writelines(a)
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()

偏见丶 发表于 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()

小古比鱼 发表于 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()

lxping 发表于 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()

hjgroup 发表于 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
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()

q6s6t6qst666 发表于 2022-11-9 16:14:01

mikekk 发表于 2022-11-10 05:35:15

1

mazj2022 发表于 2022-11-10 15:14:09

0、不一定
1、flush()
2、从指针开始读取3个字符
3、1
4、print末尾有换行
5、
6、保存数据,避免截断
7、可以
8、读取的起始位置
9、文件末尾
10.f.tell()

只争朝夕7 发表于 2022-11-10 21:19:04

1

rogery 发表于 2022-11-11 16:14:34

1

趁年华学python 发表于 2022-11-12 11:17:18

问答
0.不会
1.with open
2.指针为3
3.1
4.
5.文件格式有误
6.有这个文件
7.不可
8.找到写的位置
9.
10.size

不老松 发表于 2022-11-12 14:29:44

看看

老年人学python1 发表于 2022-11-13 16:03:35

1

ChadQ 发表于 2022-11-15 15:56:36

1

蓝波不蓝 发表于 2022-11-16 16:28:28

1

是肥宅SRP啊 发表于 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
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.我想看看答案

xnl3998 发表于 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.

ZZCHY 发表于 2022-11-17 16:50:02

小甲鱼

SQLChrome 发表于 2022-11-18 00:10:15

1

yojhoo 发表于 2022-11-18 10:13:03

{:5_102:}
页: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14
查看完整版本: 第053讲:永久存储(上)| 课后测试题及答案