python中对文件的操作

“”"
在变量,序列(这里的序列其实就是元组,列表,字符串,集合,字典)和对象中存储的数据是暂时的,程序结束就会丢失。
为了能够长世界地保存程序中的数据,需要将程序中的数据保存到磁盘文件长。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)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈开发crud师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值