Python笔记(十)

文件编码概念

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

编码有许多种,我们最常用的是UTF—8编码

文件的读取

对文件进行操作的基本步骤,大概可以分为三步

1、打开文件

2、读写文件

3、关闭文件

注意:可以只打开和关闭文件,不进行任何读写

open()打开函数

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

open(name,mode,encoding)

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

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

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

实例:

 f=open('python.txt','r',encoding="UTF-8")
 # encoding的顺序不是第三位,所以不能用位置参数,用关键字直接指定

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

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

读操作相关方法

read()方法:

文件对象.read(num)

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

后面的read读取会从上一次read读取的结尾开始读取

readlines()方法:

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

 f=open('python.txt')
 content=f.readlines()
 ​
 #["hello world\n",'abcdefg\n','aaa\n','bbb\n','ccc']
 print(content)
 ​
 #关闭文件
 f.close()

readline():方法:一次读取一行内容
 f=open('python.txt')
 ​
 content=f.readline()
 print(f'第一行:{content}')
 ​
 content=f.readline()
 print(f'第二行:{content}')
 ​
 # 关闭文件
 f.close()

for循环读取文件行
 for line in open("python.txt","r"):
     print(line)
 ​
 # 每一个line临时变量,就记录了文件的一行数据

close()关闭文件对象
 f=open("python.txt","r")
 ​
 f,close()
 ​
 # 最后通过close,关闭文件对象,也就是关闭对文件的占用
 # 如果不调用close,同时程序没有停止运行,那么这个文件将一直被python程序占用

补充:time.sleep(num)程序休眠一定时间

with open语法
 with open("python.txt","r")as f:
     f.readlines()
 ​
 # 通过在with open的语句中对文件进行操作
 # 可以在操作完成后自动关闭close文件,避免遗忘掉close方法

操作 功能
文件对象=open(file,mode,encoding) 打开文件获得文件对象
文件对象.read(num) 读取指定长度字节 不指定num读取文件全部
文件对象.readline() 读取一行
文件对象.readlines() 读取全部行,得到列表
for line in 文件对象 for循环文件行,一次循环得到一行数据
文件对象.close() 关闭文件对象
with open()as f 通过with open语法打开文件,可以自动关闭

你可能感兴趣的:(python,笔记)