Python——文件处理(文件的读取操作)

一、文件编码的概念

1 . 什么是编码?

编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。

编码有许多中,我们最常用的是 UTF -8编码

2 . 为什么需要使用编码?

计算机只认识0和1,所以需要将内容翻译成0和1才能保存在计算机中。同时也需要编码,将计算机保存的0和1,反向翻译回可以识别的内容。

3 . UTF -8是目前全球通用的编码格式

除非有特殊需求,否则,一律以 UTF -8格式进行文件编码即可。

二、文件打开

1 . open ()打开函数

在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新的文件,语法如下:

open(name,mode,encoding)

name :是要打开的目标文件名的字符串(可以包含文件所在的具体路径)

mode :设置打开文件的模式(访问模式):只读、写入、追加等

 encoding :编码格式(推荐使用 UTF -8)

示例代码:

 f = open (' python . txt ',' r ', encoding =" UTF -8)

# encoding 的顺序不是第三位,所以不能用位置参数,用关键字参数直接指定

(注意:此时的 f 是 open 函数的文件对象,对象是 Python 中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象.方法对其进行访问。)

2 . mode常用三种基础访问模式

  • r : 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
  • w . 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除。如果该文件不存在,创建新文件。
  • a . 打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

 

三、文件读取

1 . 读操作相关方法

read()方法:

文件对象 . read ( num )

 num 表示要从文件中读取的数据的长度(单位是字节),如果没有传入 num ,那么就表示读取文件中所有的数据。

 readlines ()方法:

 readlines 可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。

 f = open (' python . txt ')

 content = f . readlines ()

#[' hello world \ n ',' abcdefg \ n ',' aaa \ n ',' bbb \ n ',' ccc '] print ( content )

#关闭文件

 f . close ()

2 . 在服务器中打开文件

假设有文件python.txt,使用内建的open函数打开文件

open() 函数返回文件对象,此对象有一个 read() 方法用于读取文件的内容:

f = open("python.txt", "r")

print(f.read())

3 . 只读取文件的一部分

默认情况下,read() 方法返回整个文本,但也可以指定要返回的字符数。

若返回文件中的前n个字符:

f = open("python.txt", "r")

print(f.read(n))

# n为未知数,返回文件中的前几个字符,n就是几

4 . 按行读取文件

使用 readline() 方法可以返回一行(读取文件的一行):

f = open("python.txt", "r")

print(f.readline())

两次调用 readline(),可以读取文件的前两行:

f = open("python.txt", "r")

print(f.readline())

print(f.readline())

通过循环遍历文件中的行,可以逐行读取整个文件:

f = open("python.txt", "r")

for x in f:

  print(x)

5 . 关闭文件

完成后关闭文件:

f = open("python.txt", "r")

print(f.readline())

f.close()

(注:在某些情况下,由于缓冲,应该始终关闭文件,在关闭文件之前,对文件所做的更改可能不会显示。)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值