一、文件的概念

  • 计算机的 文件,就是存储在某种 长期储存设备 上的一段 数据
  • 长期存储设备包括:硬盘、U 盘、移动硬盘、光盘...

文件的作用:将数据长期保存下来,在需要的时候使用
文件的存储方式:在计算机中,文件是以 二进制 的方式保存在磁盘上的
文本文件:可以使用 文本编辑软件 查看,本质上还是二进制文件
二进制文件:保存的内容 不是给人直接阅读的,而是 提供给其他软件使用的,例如:图片文件、音频文件、视频文件等等,二进制文件不能使用 文本编辑软件 查看

 

二、文件的基本操作

在 Python 中要操作文件需要记住 1 个函数和 3 个方法

open 函数负责打开文件,并且返回文件对象
read/write/close 三个方法都需要通过 文件对象 来调用

 

读取文件示例

# 1\. 打开 - 文件名需要注意大小写
file = open("README")

# 2\. 读取
text = file.read()
print(text)

# 3\. 关闭
file.close()

三、打开文件的方式

写入文件示例

# 打开文件
f = open("README", "w")

f.write("hello python!\n")
f.write("今天天气真好")

# 关闭文件
f.close()
# 打开文件
file = open("README")

while True:
    # 读取一行内容
    text = file.readline()

    # 判断是否读到内容
    if not text:
        break

    # 每读取一行的末尾已经有了一个 `\n`
    print(text, end="")

# 关闭文件
file.close()

四、文件管理操作

五、文本文件的编码格式

  • 文本文件存储的内容是基于 字符编码 的文件,常见的编码有 ASCII 编码,UNICODE编码等
  • Python 2.x 默认使用 ASCII 编码格式,Python 3.x 默认使用 UTF-8 编码格式
  • ASCII 编码

    • 计算机中只有 256ASCII 字符
    • 一个 ASCII 在内存中占用 1 个字节 的空间
      • 80/1 的排列组合方式一共有 256 种,也就是 2 ** 8

    UTF-8 编码格式

    • 计算机中使用 1~6 个字节 来表示一个 UTF-8 字符,涵盖了 地球上几乎所有地区的文字
    • 大多数汉字会使用 3 个字节 表示
    • UTF-8UNICODE 编码的一种编码格式

    Ptyhon 2.x 中如何使用中文?

    • 在 Python 2.x 文件的 第一行 增加代码# *-* coding:utf8 *-*,解释器会以 utf-8 编码来处理 python 文件,这方式是官方推荐使用的!
    • 也可以使用# coding=utf8

    Python 2.x 中如何正确遍历 unicode 字符串?

    • 在 Python 2.x 中,即使指定了文件使用 UTF-8 的编码格式,但是在遍历字符串时,仍然会 以字节为单位遍历 字符串
    • 要能够 正确的遍历字符串,在定义字符串时在字符串的引号前,增加一个小写字母 u,告诉解释器这是一个 unicode 字符串(使用 UTF-8 编码格式的字符串)

    # *-* coding:utf8 *-*
    
    # 在字符串前,增加一个 `u` 表示这个字符串是一个 utf8 字符串
    hello_str = u"你好世界"
    
    print(hello_str)
    
    for c in hello_str:
        print(c)