Python中的文件读写

三大模式

r:只读模式

w:创建模式,若文件存在,则覆盖旧文件

a:追加模式,新数据写到文件末尾

python 复制代码
f=open("name_list",mode="w")

f.write("Lu Mingfei\n")
f.write("Lu Mingze\n")
f.write("Chen Wenwen\n")

f.close()

name_list.txt

python 复制代码
Lu Mingfei
Lu Mingze
Chen Wenwen

追加模式

python 复制代码
"""
追加模式
"""
f=open("name_list","a")

f.write("heheh\n")
f.write("jack")
# io.UnsupportedOperation: not readable,
print(f.read())
f.close()

name_list.txt

python 复制代码
Lu Mingfei
Lu Mingze
Chen Wenwen
heheh
jack

读文件

python 复制代码
"""
读文件
"""

f=open("name_list","r")
print(f.read())# 读出所有内容
"""
Lu Mingfei 
Lu Mingze  
Chen Wenwen
heheh      
jack 
"""

读文件二

superman.txt

python 复制代码
1. Ma 慕尼黑 50 123@qq.com
2. Qdl 爱丁堡 52 456@qq.com
3. Logistic 神奈川 49 790@qq.com
4. Luuly 洛杉矶 48 555@qq.com
5. Yeyedan 哥谭 54 321@qq.com
6. jerry 芝加哥 52 598@163.com
7. outama 西雅图 49 777@163.com

遍历文件

python 复制代码
"""
遍历文件
"""

"""
readlines():读所有行
[第一行,第二行,...,...]
['1. Ma 慕尼黑 50 123@qq.com\n', '2. Qdl 爱丁堡 52 456@qq.com\n', ...]
"""
f=open("superman.txt",encoding="utf-8")
print(f.readlines())


"""
1. Ma 慕尼黑 50 123@qq.com        
2. Qdl 爱丁堡 52 456@qq.com       
3. Logistic 神奈川 49 790@qq.com  
4. Luuly 洛杉矶 48 555@qq.com     
5. Yeyedan 哥谭 54 321@qq.com     
6. jerry 芝加哥 52 598@163.com    
7. outama 西雅图 49 777@163.com 
"""
f2=open("superman.txt",encoding="utf-8")
for line in f2:
    # end="" 表示 print 函数在打印完 line 之后不添加任何字符,也就是不换行。
    print(line,end="")
print("\n")



"""
多个列表,每一行是一个列表
['1.', 'MaQianxi', 'shenzhen', '173', '50', '13744234523']
['3.', 'LuoXinzu', 'beijing', '175', '49', '18623423421']
['4.', 'LuoNuohan', 'beijing', '170', '48', '18623423765']
['7.', 'YeZixuan', 'shanghai', '171', '49', '18042432324']
"""
f3=open("superman.txt",encoding="utf-8")
for line in f3:
    # 把当前读取的一行,转为list形式
    line=line.split()
    age=int(line[2])
    if age>=50 and age <=100:
        print(line)

写二进制文字

python 复制代码
#wb 写入二进制文件的模式
f=open("byteFile.txt","wb")

str="卡塞尔学院"
print(str.encode("utf-8"))
f.write(str.encode("utf-8"))

byteFile.txt

python 复制代码
卡塞尔学院
相关推荐
霸道流氓气质几秒前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
怪奇云呼军3 分钟前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
ZC跨境爬虫16 分钟前
LeetCode 27. 移除元素(双指针详解 + Java Python 多解法对比)
java·python·leetcode
路溪非溪32 分钟前
Python语言的执行流程总结
开发语言·python
笨鸟先飞,勤能补拙41 分钟前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全
宋均浩1 小时前
AI 生成代码质量防线实战:5 个 CI/CD 配置,把 8% 的逻辑错拦在线上之前0
python
kisbad1 小时前
Day 036|OpenAI Agents SDK 快速开始:今天跑通第一个 Agent
java·前端·javascript
憧憬成为java架构高手的小白1 小时前
langchain4j框架学习
java
树码小子1 小时前
Pycharm解释器配置问题解决
ide·python·pycharm
佳児素花痴╮1 小时前
网络问题与基础理论
运维·服务器·网络