1. 读取文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# !/usr/bin/env python
# -*- coding:utf-8 -*-
"""
文件读取三步骤:
1.打开文件
f=open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
mode: r,w,a,b,+
2.操作文件
f.read(),把整个文件读入单一字符串
f.read(N),读取之后的N个字节
f.readlines(),读取整个文件到字符串列表
f.readline(),读取下一行
3.关闭文件
f.close()
f.seek(offset),移动文件指针位置
f.flush(),把缓冲区数据刷到硬盘中
"""
f = open ( '吻别.txt' ,encoding = 'utf-8' )
print (f)
data = f.read()
# data=f.readlines()
print (data)
f.close()
|
2. 写入文件
1
2
3
4
5
6
7
8
9
10
11
12
|
"""
文件写入三步骤:
1.打开文件
2.操作文件
f.write()
f.writelines(aList),把列表中所有的字符串写入文件
3.关闭文件
"""
f = open ( 'test.txt' ,mode = 'w' ,encoding = 'utf-8' )
f.write( 'line01\n' )
f.write( 'line02\n' )
f.close()
|
3. 文件也是迭代器
1
2
3
4
5
6
7
8
9
10
|
# !/usr/bin/env python
# -*- coding:utf-8 -*-
from collections import Iterable
try :
f = open ( '吻别.txt' ,mode = 'r' ,encoding = 'utf-8' )
print ( isinstance (f, Iterable)) # True,文件也是迭代器类型
for line in f:
print (line,end = '')
finally :
f.close()
|
4. 使用上下文管理器自动关闭文件
1
2
3
4
5
|
with open ( 'test.txt' ,mode = 'w' ,encoding = 'utf-8' ) as f:
f.write( 'line01\nline02\n' )
with open ( 'test.txt' ) as f:
data = f.read()
print (data)
|
5. 读写二进制文件
1
2
3
|
with open ( '美猴王.jpg' ,mode = 'rb' ) as fin, open ( '美猴王_copy.jpg' ,mode = 'wb' ) as fout:
data = fin.read()
fout.write(data)
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/topleeyap/article/details/78945760