Python基础语法之文件操作

1 读文件

  1.1 简单读文件

1 f = open('text', 'r')  # f是文件句柄
2 data = f.read()  # read方法可以加整型参数,是几就读几个字符
3 print(data)
4 f.close()

  1.2 readline()和readlines()

    readline():每次读文件中的一句。

    readlines():将整个文件中的字符全部读出,并将其存在一个列表里,列表中的每个元素是文件中的一句。

    在读大文件时尽量不要用readlines,太占用内存。

1 f = open('text', 'r')
2 a = f.readline()
3 b = f.readline()
4 c = f.readline()
5 d = f.readline()
6 print(a)  # my name is Bob
7 print(b)  # I am 18 years old
8 print(c)  # I like learning
9 print(d)  # I have a dog
f = open('text', 'r')
lines = f.readlines()
print(lines)
# ['my name is Bob
', 'I am 18 years old
', 'I like learning
', 'I have a dog']

  1.3 迭代器

    文件句柄是一个迭代器,可以通过for循环取出迭代器中的值,节约内存,处理效率更高。

1 f = open('text', 'r')
2 for i in f:
3     print(i.strip())
4 # my name is Bob
5 # I am 18 years old
6 # I like learning
7 # I have a dog

2 写文件

  2.1 清理写

1 f = open('text', 'w')
2 f.write('hello world')
3 f.close()

  2.2 非清理写

1 f = open('text', 'a')
2 f.write('hello world')
3 f.close()

3 读取和调整光标的位置

1 f = open('text', 'r')
2 print(f.tell())  # 0
3 print(f.read(2))  # he
4 print(f.tell())  # 2
5 f.seek(0)
6 print(f.tell())  # 0

4 将缓存区内容写进磁盘中

1 f = open('text', 'w')
2 f.write('Bob is 32')  # 此时文件中并没有写入
3 f.flush()  # 将刚写入缓存区的内容写入到磁盘中
4 f.close()

5 文件的操作模式

1 # r+ :从文章起始位置读,从文章最后写
2 # w+ :从光标后一个字符读,在文章最后写,但是在打开文件时清空文档
3 # a+ :从文章最后读,正常追加

6 例题:在任意一行的后面添加字符串,并将文件打印出来

1 with open('text', 'r') as f:
2     num = 0
3     for i in f.readlines():
4         num += 1
5         if num == 4:
6             i = ''.join([i.strip(), '***'])
7         print(i.strip())

7 例题:修改文件中任意一行

1 with open('text', 'r') as f_read, open('text1', 'w') as f_write:
2     num = 0  # 计数,在符合行数时修改内容
3     for line in f_read:  # 遍历f_read中的每行
4         num += 1  # 没遍历一行,计数器加一
5         if num == 4:  # 在第四次遍历时,即在第四行时执行if块语句
6             line = 'hello
'  # 当在第四行时将文件的内容改为hello
7         f_write.write(line)  # 将处理后的所有字符串写入f_write
原文地址:https://www.cnblogs.com/swenwen/p/10617684.html