展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

读取文件

  • 文件编码
即翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容
  • 常用编码
UTF-8
GBK
Big5
  • 文件
内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。
一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。一般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别
  • 文件操作步骤
① 打开文件
② 读写文件
③ 关闭文件
  • 打开文件
在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下

open(name, mode, encoding)

name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。
mode:设置打开文件的模式(访问模式):只读、写入、追加等。
encoding:编码格式(推荐使用UTF-8)

# 示例
f = open('python.txt', 'r', encoding=”UTF-8)

# 此时的`f`是`open`函数的文件对象,对象是Python中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象.方法对其进行访问
  • mode访问模式

  • 读操作的常用方法

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

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

readline()方法:一次读取一行内容

close() 关闭文件对象

with open 语法
# 通过在with open的语句块中对文件进行操作
# 可以在操作完成后自动关闭close文件,避免遗忘掉close方法

  • 代码案例
# 打开文件
f = open("D:/测试.txt", "r", encoding="UTF-8")
print(type(f))

# 读取文件 - read()
print(f"读取10个字节的结果:{f.read(10)}")
print(f"read方法读取全部内容的结果是:{f.read()}")

# 读取文件 - readLines()
lines = f.readlines()   # 读取文件的全部行,封装到列表中
print(f"lines对象的类型:{type(lines)}")
print(f"lines对象的内容是:{lines}")

# 读取文件 - readline()
line1 = f.readline()
line2 = f.readline()
line3 = f.readline()
print(f"第一行数据是:{line1}")
print(f"第二行数据是:{line2}")
print(f"第三行数据是:{line3}")

# for循环读取文件行
for line in f:
    print(f"每一行数据是:{line}")
    
# # 文件的关闭
f.close()

# with open 语法操作文件
with open("D:/测试.txt", "r", encoding="UTF-8") as f:
    for line in f:
        print(f"每一行数据是:{line}")
  • 案例1
# 打开文件,以读取模式打开
f = open("D:/word.txt", "r", encoding="UTF-8")

# 方式1:读取全部内容,通过字符串count方法统计itheima单词数量
content = f.read()
count = content.count("itheima")
print(f"itheima在文件中出现了:{count}次")

# 关闭文件
f.close()
  • 案例2
# 打开文件,以读取模式打开
f = open("D:/word.txt", "r", encoding="UTF-8")

# 方式2:读取内容,一行一行读取
count = 0       # 使用count变量来累计itheima出现的次数
for line in f:
    line = line.strip()     # 去除开头和结尾的空格以及换行符
    words = line.split(" ")
    for word in words:
        if word == "itheima":
            count += 1      # 如果单词是itheima,进行数量的累加加1
# 判断单词出现次数并累计
print(f"itheima出现的次数是:{count}")

# 关闭文件
f.close()
posted @ 2022-10-12 11:29  DogLeftover  阅读(170)  评论(0编辑  收藏  举报