文件操作
- 首先新建一个文件
- 文件操作步骤
- 打开
- 操作
- 关闭
- 文件读操作
- 读的同时不可写
123456
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
data
=
f.read()
print
(data)
f.close()
输出:
- 只能读1次,不可多次读操作
123456789
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
data
=
f.read()
data2
=
f.read()
print
(data)
print
(
'----------data2-------------'
,data2)
f.close()
- 不同姿势的输出
1234567891011
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
data
=
f.read()
data2
=
f.read()
print
(data)
print
(
'----------data2-------------'
,data2)
print
(
'------------data2--%s------------'
%
data2)
print
(
'------------data2------------------%s'
%
data2)
f.close()
- 写的时候不可读操作, 删除原有的内容重写
12345
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'w'
,encoding
=
'utf-8'
)
f.write(
'I love Beijing TianAn door'
)
f.close()
- 读前3行
123456
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
for
i
in
range
(
3
):
print
(f.readline())
f.close()
- 打印一份文件
12345
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
print
(f.readlines())
f.close()
- 打印一份文件
123456
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
for
line
in
f.readlines():
print
(line.strip())
f.close()
- 在第三行插入,f.readlines只适合小文件插入
123456789
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
for
index,line
in
enumerate
(f.readlines()):
if
index
=
=
3
:
print
(
'*************分割线*************'
)
continue
print
(line.strip())
f.close()
- 一行行读
123456789101112
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
count
=
0
for
line
in
f :
if
count
=
=
4
:
print
(
'#############################'
)
count
+
=
1
continue
print
(line.strip())
count
+
=
1
f.close()
- 输出当前光标位置
12345
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
print
(f.tell())
f.close()
输出当前光标位置,按照字符计数
12345678910#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
print
(f.tell())
print
(f.readline())
print
(f.tell())
print
(f.readline())
print
(f.tell())
f.close()
- 返回光标值,f.seek()
12345678910111213141516
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
print
(f.tell())
print
(f.readline())
print
(f.tell())
print
(f.readline())
print
(f.tell())
f.seek(
0
)
#光标回到0
print
(f.readline())
print
(f.tell())
f.seek(
2
)
#光标回到2
print
(f.tell())
f.close()
- 刷新使修改生效
123456
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r'
,encoding
=
'utf-8'
)
print
(f.flush())
#刷新使修改生效
f.close()
- 读写操作‘r+’
12345678
#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'r+'
,encoding
=
'utf-8'
)
#读写操作
print
(f.readline())
print
(f.readline())
print
(f.readline())
f.close()
-
#读写操作,先创建新文件再往里写
123456#Author:Kevin_hou
f
=
open
(
'机器铃 砍菜刀'
,
'w+'
,encoding
=
'utf-8'
)
#读写操作,先创建新文件再往里写
f.write(
'\n-----------------------NBA--------------'
)
f.close()
- 打印二进制
12345678
#Author:Kevin_hou
#读2进制模式
f
=
open
(
"yesterday02"
,
'rb'
)
print
(f.readline())
print
(f.readline())
print
(f.readline())
f.close()
- 写二进制值
1234567
#Author:Kevin_hou
#读2进制模式
f
=
open
(
"机器铃 砍菜刀"
,
'wb'
)
f.write(
'hello binary\n'
.encode())
print
()
f.close()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律