Python第五天笔记——文件操作

本文详细介绍了文件的基本操作,包括不同模式下的文件打开、读取、写入等方法,以及文件定位和刷新技巧。通过实例展示了如何利用Python进行文件的高效管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常见文件类型

  • txt
  • csv
  • html
  • json

文件操作

文件的打开

格式

file_object=open(file,[,mode],[,encoding],[,buffering])

解释

  • file_object—>open()返回的文件对象
  • fil—>要打开的文件
  • mode:—>指定模式(只读,写入,追加等等。(默认只读))
  • encoding—>指定文件编码,通常为:‘utf-8/gbk’
  • buffering—>若设置为0,不会有寄存;设为1,访问文件时会寄存行;设置为大于1的数,表明是寄存区的缓冲大小;设置为负数时,则缓存区的大小为系统默认。

文件对象的属性:

属性描述
f.name返回文件的名称
f.mode返回打开文件的访问模式
f.closed如果文件已关闭,返回true,否则flase

文件指定模式:

mode描述
r只读,指针在文本最前(0,0),只能进行读,不可写,这是默认模式
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w写,指针在文本最前(0,0),如果没有目标文本,会新建一个空目标文本;如果有,会清除目标文本中的所有内容,相当于新建一个空的目标文本后替换原文本
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a追加,如果有目标文本,指针会跳到文本的最后;如果没有找到,同w模式会新建一个空的文本。``
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
f=open('C:/Users/lenovo/Desktop/GreenFlowerPorcelain.txt','r')
print(f.read())
print(f.name)
print(f.mode)
print(f.closed)
f.close()
print(f.closed)

#输出结果:
 1 Green Flower Porcelain
 2 You are the face that has changed my whole world.
 3 You are the face that I see everywhere I go.
 4 You are so beautiful to me that I can't explain ,
 5 Just like a green flower porcelain.
 6 You're like a moon that I awaken to say hello,
 7 So beautiful and bright that you make me content to play it so.
 8 I see your face on the leaves,telling me how lonely I have been.
 9 This is a dream of mine that I have just dreamed.
10 Just see your smiling face everywhere I go.
11 The love I feel for you to shine inside me.
12 But it's all over now you're gone.
C:/Users/lenovo/Desktop/GreenFlowerPorcelain.txt
r
False
True
f1=f.readline(10)
print(f1)
a=open('C:/Users/lenovo/Desktop/青花瓷.txt','r',encoding='utf-8')
print(a.read())

文件的读写

#读

  • f.read([size]):从文件中读取指定的字节数,若未指定,读取所有
    • 从文件指针处读取
    • 传递size,指定读取的字节数
  • readline():读取整行,包括"\n"
  • readlines():读取所有行,并返回列表

#写

  • write():将字符串写入文件,并返回字符串长度
  • writelines():向文件写入一个序列字符串列表。如果需要换行,需要自己假如换行符

文件的定位

  • f.tell():获取文件的当前位置。

  • f.seek()

    • seek(offet[,from])

      • offset:要偏移动的字节数

      • from:指定偏移的参考位置\

        1、0----->从开头偏移

        2、1----->当前位置偏移

        3、2----->从末尾偏移

f.seek(10,0)
f3=f.read(10)
print(f3)

#输出结果:
lower Porc
##拓展##
with open('C:/Users/lenovo/Desktop/GreenFlowerPorcelain.txt','r') as f:
    print(f.read())
print(f.closed)
import random
f=open('C:/Users/lenovo/Desktop/data.txt','w+')
for i in range(1024):
    # f.write(str(random.randint(0,9)))
    f.write(str(random.randint(0,9)) + '\n')
f.seek(0,0)
print(f.read())

文件的刷新

  • f.flush():刷新文件缓存,直接把内部缓冲的数据写入文件。

文件的关闭

  • f.close():节省计算机资源和提供性能,使用完文件之后,关闭它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值