"""

在变量,序列(这里的序列其实就是元组,列表,字符串,集合,字典)和对象中存储的数据是暂时的,程序结束就会丢失。

为了能够长世界地保存程序中的数据,需要将程序中的数据保存到磁盘文件长。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中对文件的操作