四、文件I/O#

1. 文件I/O简介#

  • IO是两个单词的缩写,分别是Input和Output,输入和输出
  • IO包含控制台IO以及文件IO

文件I/O的基本流程

  • 打开文件
  • 文件读写
  • 关闭文件

2. 打开文件#

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

1
2
3
f = open(文件名,访问模式)
文件名:文件的相对路径或者绝对路径
访问方式:文件的访问方式有读、写、追加

访问模式对应的功能如下:

功能 r r+ w w+ a a+
+ + + +
+ + + + +
创建 + + + +
覆盖 + +
指针在开始 + + + +
指针在结尾 + +

打开文件

1
f = open('a.txt')

如果没有传入打开模式,默认访问模式为r只读模式

3. 关闭文件#

可以使用f.close()方法关闭文件

1
f.close()

注意:

一定要保证文件操作完之后要关闭掉,因为程序能打开的文件数量是有上限的,并且不关闭文件会造成内存泄漏

4. 文件读取#

read读取

read方法读取

格式为:

1
2
3
data = f.read(num)
参数num:默认-1,读取整个文件内容
       可以指定num,则读取num个数据

读取整个文件内容

1
result = f.read()

读取5个数据

1
result = f.read(5)

readline

readline指的是读取一行

1
result = f.readline()

也可以指定读取一行n个数据

1
result = f.readline(15)

readlines

readlines指的是读取整个文件,返回每一行数据的列表

1
result = f.readlines()

5. 文件写入#

write

write写入字符串到文件中

1
f.write('hello world')

writelines

writelines可以将容器中数据写入到文件中

1
2
3
l = ['bill','gates','tom']
# 将列表中数据写入到文件中
f.writelines(l)

6. 绝对路径和相对路径#

文件路径分为两种:相对路径绝对路径

绝对路径

绝对路径指的是在电脑硬盘上真正保存的路径 绝对路径在不同的操作系统上写法是不一样的

如下就是绝对路径写法:

1
D:\codespace\python4\FristPython\a.txt

绝对路径的缺点

  1. 绝对路径写起来比较麻烦
  2. 如使用的项目文件移动了,那绝对路径就变化了,就需要重新修改

相对路径

相对路径就是相对于当前目录的路径 相对路径用.代表当前目录,使用..代表上一级目录 如果是当前路径可以省略./

例如,当前文件夹下的a.txt:

1
2
3
./a.txt
# 简写
a.txt

上一级目录下的b.txt

1
../b.txt