thejiangxianshe
发表于 2023-7-17 10:07:49
kankan
sfqxx
发表于 2023-7-17 14:13:29
1
Celinnnn
发表于 2023-7-18 15:36:55
111
PP别吃了
发表于 2023-7-20 12:24:23
0. 不会呀
1. f.flush()
2. 读取前三个字符
3. 一行
4. 好问题,难道是因为print()自带换行符?比如 f = print(f)就会打成
1,
2
这样?
5. \转义符,要么加r,要么\\
6. 注意文件名
7. 你自己看看讲了没嘛
8. 定位
9. end of file
10. f.tell()
0.
5.
小甲鱼的fan
发表于 2023-7-20 17:57:32
# 问答题
# 第0题
# 应该不会,会创建一个新的文件
# 第1题
# 可以用文件的flush方法
# 第2题
# 读取字符的个数为3,如果第一行的字符个数大于3,则读取第一行字符
# 第3题
# 一行
# 第4题
# 换行符起了两次作用
# 第5题
# 不知道
# 第6题
# 不要什么都不干就用close()关闭文件
# 第7题
# 可以
# 第8题
# 不知道
# 第9题
# 不知道
# 第10题
# 用文件的tell()方法
Andy-fly
发表于 2023-7-22 15:19:38
0.0
hziyan
发表于 2023-7-23 09:47:14
target = open('target.zip','rb')
test = open('test.jpg','r+b')
test.read()
test.write(target.read())
test.close()
target.close()
源冰源
发表于 2023-7-23 13:08:35
0
YHJxiao
发表于 2023-7-24 11:30:00
0.不会,他会给你创建一个
1.ctrl + s
2.读取3个字符
3.一行,这玩意不会自己换行
4.for语句会自己换行,\n输出换了一行
5.路径指定的文件不存在?
6.该文件是空白的
7.不能
8.指向当前操作的字符位置
9.寻找错误
10.tell()
insistPython
发表于 2023-7-24 16:00:50
1
李胖
发表于 2023-7-24 17:30:21
# 0.不会,只会创建一个新的文件
# 1.有,使用flush()函数
# 2.从文件对象中读取第一行的3个字符
# 3.FishAFishBFishC,一行字符串
# 4.因为迭代的时候换行符也作为字符串的一部分
# 5.\U 被定义为,应该使用转义符
# 6.一定要保存文件,w以后文件会被清空
# 7.可以
# 8.记录位置
# 9.end of file
# 10.使用函数tell()
# f = open(r"C:\Users\Ray\Desktop\FishC.txt")
# a= f.readline()
# b=[]
# for i in range(0,16):
# b.append(a)
# c = "".join(b)
# d = open(r"C:\Users\Ray\Desktop\FishD.txt","w")
# d.writelines(c)
# d.close()
insistPython
发表于 2023-7-24 18:25:01
为啥'target.zip'报错说No such file or directory: 'target.zip'
encyclopedia
发表于 2023-7-24 21:50:23
.
百苦
发表于 2023-7-25 16:03:01
0.用r模式打开不存在的文件会报错,w、a模式打开不存在的文件不会报错,会自动新建文件
1.可以使用文件对象调用flush()方法
2.表示读取三个字符
3.写入一行
4.
5.文件路径中出现转义字符
6.使用"w"模式打开文件会覆盖文件之前的内容
7.可以,使用"a"模式时,如果文件存在,则会打开追加,如果不存在,则会创建新文件
0.
file = r"F:\学习\小甲鱼\课后作业\053讲 永久存储(上)\文件\FishC.txt"
f = open(file, "r")
f.seek(10)
temp = f.read(5)
f1 = open(r"F:\学习\小甲鱼\课后作业\053讲 永久存储(上)\文件\FishD.txt", "w")
f1.write(temp)
f.close()
f1.close()
1.
file = r"F:\学习\小甲鱼\课后作业\053讲 永久存储(上)\文件\FishC.txt"
f = open(file,"r")
f.seek(15)
f.truncate()
f.close()
2.
f = open("open_myself.py", "r")
f.read()
f.close()
3.
file1 = r"F:\学习\小甲鱼\课后作业\053讲 永久存储(上)\hw\target.zip"
file2 = r"F:\学习\小甲鱼\课后作业\053讲 永久存储(上)\hw\test.jpg"
f1 = open(file1, "rb")
f2 = open(file2, "ab")
temp = f1.read()
f2.write(temp)
f1.close()
f2.close()
yjr1124
发表于 2023-7-25 16:44:09
0. 会创建
1. f.flush()
3. 一行, 换行符需要手动添加
4. f. writelines ()会自动换行?
5. 反斜杠换成正斜杠,或者双反斜杠
6. w为覆盖写模式,会清空所有的原文件内容
7. 可以a为追加写模式,如果文件存在则在源文件最后追加内容,不存在则会创建文件
8. 可以截取文件内容,确定文件读取的开始位置等
9. 不知道
10. f.tell()
0.f_c = open('D:/下载/FishC - 副本.txt', mode='r', encoding='UTF-8')
f_c.seek(10,0)
txt_1 = f_c.read(5)
f_c.close()
f_d = open('D:/下载/FishD.txt', mode='wt', encoding='UTF-8')
f_d.write(str(txt_1))
f_d.close()
1.f_c = open('D:/下载/FishC - 副本.txt', mode='rt+', encoding='UTF-8')
f_c.seek(0)
txt_1 = f_c.read(15)
print(txt_1)
f_c = open('D:/下载/FishC - 副本.txt', mode='wt+', encoding='UTF-8')
f_c.write(str(txt_1))
f_c.close()
2.from pathlib import Path
f_lj = Path.cwd() / "open_myself.py"
f_jb = open(f_lj, mode = 'r', encoding='utf_8')
for i in f_jb:
print(i)
3.
f_zip = open('D:/下载/target.zip', mode='rb')
f_jpg = open('D:/下载/test.jpg', mode='ab')
for i in f_zip:
f_jpg.write(i)
f_zip.close()
f_jpg.close()
hfj2011
发表于 2023-7-25 19:32:11
1
2986745766
发表于 2023-7-28 13:59:56
0
ztx13363839373
发表于 2023-7-28 16:33:29
{:5_90:}
天雨流芳1
发表于 2023-7-28 22:16:39
1
菜许坤
发表于 2023-7-30 13:10:52
r'''
0. 如果尝试使用 open() 函数打开一个不存在的文件,是否会报错?
答: 不会哦, 这取决于使用什么模式打开, 如果用'r' 模式就会报错, 但是使用 'w' 模式就不会
'r' 模式表示打开文件并可以进行读取 'w' 模式表示创建文件
1. “在打开一个文件对象之后,大多数的文件操作都是在缓冲区里面进行的。因此,如果希望将文件内容保存,我们需要使用 close() 方法关闭文件对象,这样数据才能从缓冲区写入到文件中。”
那么请问大家,有没有办法在不关闭文件对象的情况下,进行内容的保存呢?
答: 我们可以使用 flush() 方法
2. 请问如果指定 readline(size=-1) 方法的 size 参数为 3, 那么表示的含义是什么?
答: size表示读取字符个数
3. 请问下面代码会在文件中写入几行字符串呢?
f = open("FishC.txt", "w")
f.writelines(["FishA", "FishB", "FishC"])
f.close()
答: 一行
4. 请问在课堂中的代码,为什么我们写入的时候只有一个换行符,但是使用 for 语句读取并打印出来却多了一个空白行呢?
f = open("FishC.txt", "w")
f.writelines(["I love FishC.", "I love my wife."])
f.close()
f = open("FishC.txt", "r")
for each in f:
print(each)
I love FishC.
I love my wife.
5. 请问下面代码为什么会报错?
f = open("C:\Users\goodb\Desktop\FishC.txt", "w")
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
答: 因为编码格式的原因
6. 使用 "w" 模式打开文件之前一定要注意什么?
答: 一定要注意该文件是否存在, 如果存在的话, 它会创建一个新的空文件覆盖之前老的, 老的文件就没了
7. 如果一个文件不存在,是否可以使用 "a" 模式将其打开?
答: 可以, 会创建一个新的文件
8. 文件指针的作用是什么?
答: 修改或读取某个位置的数据
9. 什么是 EOF?
答: end of the file,文件末尾了
10. 如何知道文件指针当前指定的位置?
答: 使用 tell() 方法, 不过可能不准, 在一个全是英文的文件中, 1个字符占一个字节没有问题, 但是中英文混合的时候就不好用了, 因为
1个中文字符占3个字节, 所以返回的位置就不准
'''
def file_1():
a = open('D:\\python_file\\FishC.txt', 'r')
move_seek = a.seek(10)
temp_txt = a.readline(5)
new_a = open('D:\\python_file\\FishD.txt', 'w')
new_a.write(temp_txt)
a.close()
new_a.close()
def file_2():
f = open('D:\\python_file\\FishC.txt', 'r')
temp_txt = f.readline(15)
print(temp_txt)
s = open('D:\\python_file\\FishC.txt', 'w')
s.write(temp_txt)
def open_myself():
f = open('D:\\project\\object\\python_task\\053.py', 'r', encoding = 'utf-8')
while True:
read_data = f.readline()
print(read_data)
if not read_data:
break
def target():
zip_data = open('D:\\python_file\\hw\\target.zip', 'r', encoding = 'gbk')
photo_data = open('D:\\python_file\\hw\\test.jpg', 'ab')
print(zip_data)
print(photo_data)
while True:
read_zip_data = zip_data.readline()
photo_data.write(read_zip_data)
if not read_zip_data:
break
target()