参考文件1多内容
参考文件2多方法
认知:
#由于内存与外部储存的关系,但,,,,,这个无需close关闭写入,
#瞬时写入,写入之后就可输出打印
# 1. 打开文件,得到文件句柄并赋值给一个变量
#默认打开模式就为r
#2. 通过句柄对文件进行操作
#.read() #读取所有内容,光标移动到文件末尾
#文件内容的读取都需要搞清楚当前光标在哪里,均从光标处读取
#写入从屁股处写入,与光标位置无均是从光标处开始处理
#f.writelines(lines) 将一个元素全为字符串的列表写入文件
#下面写入后没有写换行,其下一行将会挨着
print("此时光标在最后面:因此输出的是空行,也就是无内容,没内容但不报错,换行相当于表明没内容")
print("此时光标在最后面:因此输出的是空列表")
#3. 关闭文件
#光标指定位置
#输出一个K会换行,因为每一个K都有个换行符号
#根据输出可推断出最后一行空行也属于内容
1. 打开文件,得到文件句柄并赋值给一个变量
# 1. 打开文件,得到文件句柄并赋值给一个变量
f=open('a.txt','r+',encoding='utf-8') #默认打开模式就为r
2. 通过句柄对文件进行操作
文件内容的读取都需要搞清楚当前光标在哪里,均从光标处读取
写入从屁股处写入,与光标位置无
3. 关闭文件
4.代码+结果
#由于内存与外部储存的关系,但这个无需close关闭写入,
#瞬时写入,写入之后就可输出打印
# 1. 打开文件,得到文件句柄并赋值给一个变量
f=open('a.txt','r+',encoding='utf-8') #默认打开模式就为r
#2. 通过句柄对文件进行操作
print(f.read())
#.read() #读取所有内容,光标移动到文件末尾
#均是从光标处开始处理
#f.writelines(lines) 将一个元素全为字符串的列表写入文件
#下面写入后没有写换行,其下一行将会挨着
#写入从屁股处写入,与光标位置无均是从光标处开始处理
f1 = ["haha","nihao","666"]
print("此时光标在最后面:因此输出的是空行,也就是无内容,没内容但不报错,换行相当于表明没内容")
print(f.readline())
print("此时光标在最后面:因此输出的是空列表")
f.writelines(f1)
print(f.readlines())
f.seek(0)
print(f.readlines())
print("shayisi",f.write('1111\n222\n'))
#f.write('1111\n222\n'.encode('utf-8')) #针对b模式的写,需要自己写换行符
print("shayisi",f.writelines(['333\n', '4441\n']))
#f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式
#3. 关闭文件
#光标指定位置
f.seek(0)
print("#输出一个K会换行,因为每一个K都有个换行符号")
for k in f.readlines():
#输出一个K会换行,因为每一个K都有个换行符号
print(k)
print(type(k))
#根据输出可推断出最后一行空行也属于内容
f.close()
ChinaFranceAme
rica
Some
how,
此时光标在最后面:因此输出的是空行,也就是无内容,没内容但不报错,换行相当于表明没内容
此时光标在最后面:因此输出的是空列表
[]
['ChinaFranceAme\n', 'rica\n', 'Some\n', 'how,\n', 'hahanihao666']
shayisi 9
shayisi None
#输出一个K会换行,因为每一个K都有个换行符号
ChinaFranceAme
<class 'str'>
rica
<class 'str'>
Some
<class 'str'>
how,
<class 'str'>
hahanihao6661111
<class 'str'>
222
<class 'str'>
333
<class 'str'>
4441
<class 'str'>