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 复制代码
卡塞尔学院
相关推荐
Grey Zeng8 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白9 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
TF男孩9 小时前
ARQ:一款低成本的消息队列,实现每秒万级吞吐
后端·python·消息队列
架构师沉默14 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
该用户已不存在14 小时前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust
Java中文社群15 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL16 小时前
JVM 类加载:双亲委派机制
java·后端
站大爷IP16 小时前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python
用户2986985301416 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥17 小时前
原来公平锁和非公平锁差别这么大
java