文件操作

文件概述

定义和分类

  • 定义:文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。
  • 概念上:文件是数据的集合和抽象。
  • 优点:组织和表达数据更有效、更灵活。
  • 分类:文本文件和二进制文件。

文本文件和二进制文件

比较项 文本文件 二进制文件
定义 由文本字符为内容的文件 直接由比特0和1组成
字符编码
读取方式 文件经编码形成字符串,打印出含有意义的字符 文件被解析为字节(比特)流
表示形式 一个字符由2个字节表示 单一字节表示
1
2
3
4
5
6
textFile = open("7.1.txt","rt") #t表示文本文件方式
print(textFile.readline())
textFile.close()
binFile = open("7-1.txt","rb") #r表示二进制文件方式
print(binFile.readline())
binFile.close()
1
2
3
>>>
中国是个伟大的国家!
b'\xd6\xd0\xb9\xfa\xca\xc7\xb8\xf6\xce\xb0\xb4\xf3\xb5\xc4\xb9\xfa\xbc\xd2\xa3\xa1'

文件操作

文件打开和关闭

  • 文件打开函数: open()
  • 表示方法:
    • <变量名> = open(<文件名>, <打开模式>)
    • 文件名可以是文件的实际名字,也可以是包含完整路径的名字。
  • 打开模式举例:
打开模式 含义
‘r’ 只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
‘w’ 覆盖写模式,文件不存在则创建,存在则完全覆盖源文件
‘x’ 创建写模式,文件不存在则创建,存在则返回异常FileExistsError
‘a’ 追加写模式,文件不存在则创建,存在则在原文件最后追加内容
‘b’ 二进制文件模式
‘t’ 文本文件模式,默认值
‘+’ 与r/w/x/a一同使用,在原功能基础上增加同时读写功能

文件读写

定义a为一文件:

  • 文件读取:
方法 含义
a.readall() 读入整个文件内容,返回一个字符串或字节流*
a.read(size=-1) 从文件中读入整个文件内容,如果给出参数,读入前size长度的字符串或字节流
a.readline(size = -1) 从文件中读入一行内容,如果给出参数,读入该行前size长度的字符串或字节流
a.readlines(hint=-1) 从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入hint行
  • 文件写入:
方法 含义
a.write(s) 向文件写入一个字符串或字节流
a.writelines(lines) 将一个元素为字符串的列表写入文件
a.seek(offset) 改变当前文件操作指针的位置,offset的值: 0:文件开头; 1: 当前位置; 2: 文件结尾