返回顶部
扩大
缩小

Zhang_derek

3.python文件操作

文件操作模式

读取文件

文件内容

床前明月光,疑是地上霜
举头望明月,低头思故乡

1.read()

读取文件所有内容

f = open('libai',encoding = 'utf-8')
print(f.read())

床前明月光,疑是地上霜
举头望明月,低头思故乡

2.readline()

只读取一行内容

f = open('libai',encoding = 'utf-8')

print(f.readline())

床前明月光,疑是地上霜

3.readlines()

把文章内容以换行符分割,并生成list格式(数据量大的时候不建议用)

f = open('libai',encoding = 'utf-8')

print(f.readlines())

['床前明月光,疑是地上霜\n', '举头望明月,低头思故乡']

4. seek和tell光标

f = open('libai',encoding='utf-8')
data = f.read()     #默认光标在起始的位置,read()读取完后,光标停留到文件末尾
data2 = f.read()    #data2读取的内容为空
print(data)
print(data2)
f.close()          #关闭文件

文件

abcdefg
hyjklmn
opqrstu
vwxyz
复制代码
f = open('libai',encoding='utf-8')
#tell获取当前的光标
print(f.tell())    #0

print(f.readline().strip())
print(f.readline().strip())
print(f.tell())
f.seek(0)     #移动光标到文件起始的地方
print(f.readline().strip())


结果:
0
abcdefg
hyjklmn
18
abcdefg
复制代码

5.flush刷新

模拟进度条

import sys,time

for i in range(40):
    sys.stdout.write('#')
    sys.stdout.flush()     #flush强制舒心缓存到内存的数据写入硬盘
    time.sleep(0.1)

6.with语句

with代码块执行完后,文件会自动关闭

with open('libai') as f:
    print(f.read())

7.二进制读取“rb”

#rb  二进制模式读取
f = open('libai','rb')  #主要用于网络传输
print(f.readline())

b'\xe5\xba\x8a\xe5\x89\x8d\xe6\x98\x8e\xe6\x9c\x88\xe5\x85\x89\xef\xbc\x8c\xe7\x96\x91\xe6\x98\xaf\xe5\x9c\xb0\xe4\xb8\x8a\xe9\x9c\x9c\r\n'

8.二进制写“wb”

f = open('libai','wb')
f.write('中文'.encode())    

 编码转换

 方法

 

posted on   zhang_derek  阅读(3983)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

目录导航