Python基本语法(五)——文件读写

目录

一、文件读取

1.1 打开文件

1.2 读文件

1.3 关闭文件

二、写入文件

2.1 write()函数

2.2 with的用法


文件读写包括文件读取和写入文件

一、文件读取

读取文件包括:打开文件、读文件、关闭文件

file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8')  #打开文件
filecontent = file1.read()                                            #读文件
file1.close()                                                         #关闭文件

1.1 打开文件

open()函数

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8') 

参数说明:

  • file: 必需,文件路径(相对或者绝对路径),绝对路径就是最完整的路径,相对路径指的就是【相对于当前文件夹】的路径,也就是你编写的这个py文件所放的文件夹路径
    • 注意:路径中的'\'会被识别成转义字符,三种处理办法:
      open('C:\\Users\\Ted\\Desktop\\test\\abc.txt')
      #将'\'替换成'\\'
      
      open(r'C:\Users\Ted\Desktop\test\abc.txt')
      #在路径前加上字母r
      
      open(r'C:/Users/Ted/Desktop/test/abc.txt')
      #替换为/
  • mode: 可选,文件打开模式

  • buffering: 设置缓冲
  • encoding: 选择编码表
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
  • file1:用于存放打开的文件的变量
1

file1.close()

关闭文件。关闭后文件不能再进行读写操作。

2

file1.flush()

刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

3

file.fileno()

返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

4

file.isatty()

如果文件连接到一个终端设备返回 True,否则返回 False。

5

file.next()

Python 3 中的 File 对象不支持 next() 方法。

返回文件下一行。

6

file.read([size])

从文件读取指定的字节数,如果未给定或为负则读取所有。

7

file.readline([size])

读取整行,包括 "\n" 字符。

8

file.readlines([sizeint])

读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。

9

file.seek(offset[, whence])

移动文件读取指针到指定位置

10

file.tell()

返回文件当前位置。

11

file.truncate([size])

从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 windows 系统下的换行代表2个字符大小。

12

file.write(str)

将字符串写入文件,返回的是写入的字符长度。

13

file.writelines(sequence)

向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

1.2 读文件

read()函数

对于借助 open() 函数,并以可读模式(包括 r、r+、rb、rb+)打开的文件,可以调用 read() 函数逐个字节(或者逐个字符)读取文件中的内容。

如果文件是以文本模式(非二进制模式)打开的,则 read() 函数会逐个字符进行读取;反之,如果文件以二进制模式打开,则 read() 函数会逐个字节进行读取。

file.read([size])

size 作为一个可选参数,用于指定一次最多可读取的字符(字节)个数,如果省略,则默认一次性读取所有内容。 

1.3 关闭文件

close()函数

作用:

1.计算机能够打开的文件数量是有限制的,open()过多而不close()的话,就不能再打开文件了;

2.能保证写入的内容已经在文件里被保存好了。

二、写入文件

写入文件包括:打开文件、写入文件、关闭文件

file1 = open('/Users/Ted/Desktop/test/abc.txt', 'w',encoding='utf-8')  #打开文件
file1.write('张无忌\n')                                                #写文件
file1.close()                                                         #关闭文件

打开及关闭与文件读取一致,这里主要描述如何写入文件。

2.1 write()函数

write()函数与open()函数配合使用时需要注意

  • 如果文件是以“w”形式打开的,则write()函数此时的作用是重写文件内容
  • 如果文件是以“a”形式打开的,则write()函数此时的作用是在原文件内容后面增加新内容
file1 = open('/Users/Ted/Desktop/test/abc.txt', 'w',encoding='utf-8') 
file1.write('张无忌\n')     
file1.write('宋青书\n')  
file1 = open('/Users/Ted/Desktop/test/abc.txt', 'a',encoding='utf-8') 
#以追加的方式打开文件abc.txt
file1.write('张无忌\n')     
#把字符串'张无忌'写入文件file1
file1.write('宋青书\n')     
#把字符串'宋青书'写入文件file1

2.2 with的用法

补充一个用法,为了避免打开文件后忘记关闭,占用资源或当不能确定关闭文件的恰当时机的时候,我们可以用到关键字with,此时可以不用使用close()函数:

# 普通写法
file1 = open('abc.txt','a') 
file1.write('张无忌') 
file1.close()

# 使用with关键字的写法
with open('abc.txt','a') as file1:
#with open('文件地址','读写模式') as 变量名:
    #格式:冒号不能丢
    file1.write('张无忌') 
    #格式:对文件的操作要缩进
    #格式:无需用close()关闭

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值