"""
在变量,序列(这里的序列其实就是元组,列表,字符串,集合,字典)和对象中存储的数据是暂时的,程序结束就会丢失。
为了能够长世界地保存程序中的数据,需要将程序中的数据保存到磁盘文件长。python提供了内置的文件对象,目录操作的内置模块
在python中,内置了文件(File)对象。在使用文件对象时,首先需要通过内置的open()方法创建一个文本对象,然后通过该对象提供的方法
提供的方法进行一些基本的文件操作。
例如:
write()方法写入文件 close()关闭文件
"""
# print("="*10,"蚂蚁庄园动态","="*10)
# file=open("message.txt","w") # 以只写方式打开文件,文件存在,则将其覆盖,否则创建新文件
# print("即将显示")
# 根据我们以往的经验,文本文件通常用来保存肉眼可见的字符,比如 .txt 文件、.c 文件、.dat 文件等,用文本编辑器打开这些文件,我们能够顺利看懂文件的内容。
# 而二进制文件通常用来保存视频、图片、音频等不可阅读的内容,当用文本编辑器打开这些文件,会看到一堆乱码,根本看不懂。
# file=open("bilibili.jpg","rb") # 以二进制格式打开文件,并且采用只读模式,文件必须存在
# print(file)
# file.close()
# 如何指定编码格式
# file=open("notice.txt","r",encoding="utf-8")
# 打开文件后,需要及时关闭,以免对文件造成不必要的破坏。关闭文件对象可以使用close()方法
# close()方法先刷新缓冲区中还没有写入的信息,然后再关闭文件,这样就可以将没有写入到文件的内容写入到文件中,在关闭文件后,便不能再进行写入操作了。
"""
打开文件后,要及时将其关闭,如果忘记关闭可能会带来意想不到的问题。另外,如果在打开文件时抛出了异常,那么将导致文件不能被及时关闭,
为了更好地避免此类问题发生,可以使用Python提供的with语句,从而实现在处理文件时,无论是否抛出异常,都能保证with语句执行完毕后
关闭已经打开的文件。
"""
# print("="*10,"蚂蚁庄园动态","="*10)
# with open("message.txt","w") as file:
# pass
# print("即将显示")
"""
虽然创建并打开一个文件,但是该文件中并没有任何内容。python的文件对象提供了write()方法,可以向文件中写入内容.
在调用write()方法向文件中写入内容的前提是打开文件,指定的打开模式为w(可写)或者a追加,否则,将抛出异常
"""
# print("="*10,"蚂蚁庄园动态","="*10)
# file=open("message.txt","w",encoding="utf-8") # 以只写方式打开文件,文件如果存在,就覆盖,不存在就创建新文件
# # 写入一条动态信息
# file.write("你使用了1张加速卡,小鸡撸起袖子开始双手吃饲料")
# print("写入了一条动态")
# file.close() # 关闭文件对象
"""
在写入文件后,一定要调用close()方法关闭文件,否则写入的内容不会保存到文件中,这是因为当我们在写文件的时候,操作系统不会立刻把数据写入磁盘,而是先
缓冲起来,只有调用close()方法时,操作系统才会保证把没有写入的数据全部写入磁盘。
在向文件中写入内容后,如果不想马上关闭文件,也可以调用文件对象提供的flush()方法,把缓冲区的内容写入文件,这样也能保证数据全部写入磁盘。
向文件中写入内容时,如果打开文件采用w写入模式,则先情况原文件中的内容,再写入新的内容;而如果打开文件采用a追加模式,则不覆盖原有文件的内容,只是再文件的
结尾处增加新的内容
"""
# print("="*10,"蚂蚁庄园动态","="*10)
# file=open("message.txt","a",encoding="utf-8")
# file.write("\n李四的小鸡在你庄园呆了9分钟,吃了6g饲料\n")
# print("追加了一条动态")
# file.close()
# 文件的读取
# with open("message.txt","r",encoding="utf-8") as file:
# string=file.read(9) # 读取前9个字符
# print(string)
# 想要从文件的第19个字符开始读取13个字符
# with open("message.txt","r",encoding="utf-8") as file:
# file.seek(19) # 移动到第19个字符
# string=file.read(13) # 读取13个字符
# print(string)
# 读取一行
# with open("message.txt","r",encoding="utf-8") as file:
# number=0
# while True:
# number+=1
# line=file.readline()
# if line=='':
# break
# print(number,line,end="\n")
"""
读取全部行的作用其实就是和read()方法一样了,但是读取全部行返回的是一个字符串列表,每个元素为文件的一行内容.
一行就代表列表的一个元素
"""
with open("message.txt","r",encoding="utf-8") as file:
message=file.readlines()
for i in message:
print(i)
更多推荐
python打开dat文件_python中对文件的操作
发布评论