Python养成记

20、文件操作

2022-04-04  本文已影响0人  魔方宫殿
Life is short, you need Python!

上集回顾:

  1. datetime构造器
  2. 解析时间
  3. 当前时间
  4. 格式化时间

上集学习了日期和时间相关的知识,本集学习文件的基本读写操作。

一、打开文件
open(file, mode='r', encoding=None)
打开 file 并返回对应的文件对象, 如果该文件不能被打开,则引发OSError。
file 是一个 ,表示将要打开的文件的路径(绝对路径或者相对当前工作目录的路径)。
mode 是可选的字符串,用于指定打开文件的模式。默认值是 'r' ,表示以文本模式打开并读取文件。其他常见模式有:写入模式 'w' (已存在文件会被清空)、独占创建模式 'x' 、追加写入模式 'a' (在 某些 Unix 系统中,无论当前文件指针在什么位置,所有 的写入操作都会追加到文件末尾)。
可用的模式有:

字符 含义
‘r’ 读取(默认)
‘w’ 写入,并先截断文件
‘x’ 排它性创建,如果文件已存在则失败
‘a’ 打开文件用于写入,如果文件存在则在末尾追加
‘b’ 二进制模式
‘t’ 文本模式(默认)
‘+’ 打开用于更新(读取与写入)

默认模式为 'r' (打开文件用于读取文本,与 'rt' 同义)。'w+' 和 'w+b' 模式将打开文件并清空内容。而 'r+' 和 'r+b' 模式将打开文件但不清空内容。

二、写文件
file.write()

>>> f = open("test.txt", "w", encoding="utf-8")
>>> f.write("a")
1
>>> f.write("b\n")
2
>>> f.write("c\n")
2
>>> f.write("d\n")
2

三、读文件
file.read():读取所有内容;
file.readline():读取一行内容;

>>> f = open("test.txt", "r", encoding="utf-8")
>>> f.read()
'ab\nc\nd\n'
>>> f.seek(0)
0
>>> f.readline()
'ab\n'
>>> f.readline()
'c\n'
>>> f.readline()
'd\n'
>>> f.readline()
''

四、文件流位置
file.tell():返回当前文件流位置。
file.seek(number):改变文件流到number位置。

>>> f = open("test.txt", "a+", encoding="utf-8")
>>> f.tell()
10
>>> f.seek(0)
0
>>> f.read()
'ab\nc\nd\nefg'
>>> f.seek(0)
0
>>> f.readline()
'ab\n'
>>> f.tell()
3
>>> f.read()
'c\nd\nefg'

本集总结:

  1. 打开文件
  2. 写文件
  3. 读文件
  4. 文件流位置

下集见

上一篇下一篇

猜你喜欢

热点阅读