Python的文件管理

读取文件

首先我们可以先创建一个工程项目,如图所示:

打开我们名为1.读取文件.py的python文件,然后我们可以写下读取Python文件的代码,代码如下:

复制代码
f = open("1.txt", "r")
print(f.read())
f.close()

open可以打开我们项目下的文件,open括号里面传入的参数第一个是我们的文件名, 第二个是我们文件的打开方式,第二个参数可以是"r "(只读),也可以是"w "(只写),也可以是"w+ "(打开后,清空原有内容,成为一个新的空文件,对这个空文件具有读写权限),同样的还有r+ (打开后,可以读取文件内容吧,保存原有内容,追加写内容,写动作则是追加的新内容。其作用和**a+**基本相同。)

当然,我们还有另外一种方式可以读取文件,就是用with的方式:

复制代码
with open("1.txt", "r") as f:
    a = f.read()
    print(a)

同样可以传入2个参数,第一个参数仍然是文件名,第二个参数为文件获取方式,同样可以是'r' 只读,'w'写文件,和上面的一样。

中文乱码问题

如果大家在读取文件的时候遇到中文乱码的时候:

复制代码
with open("chinese.txt", "wb") as f:
    f.write("这是中文的,this is Chinese".encode("gbk"))
    
with open("chinese.txt", "rb", ) as f:
    print(f.read())
    #print(f.read().decode('gbk'))

更多的读写方式

复制代码
with open("new_file.txt", "r") as f:
    print(f.read())
with open("new_file.txt", "r+") as f:
    f.write("text has been replaced")
    f.seek(0)       # 将开始读的位置从写入的最后位置调到开头
    print(f.read())

|------|--------------------|
| mode | 意思 |
| w | (创建)写文本 |
| r | 读文本,文件不存在会报错 |
| a | 在文本最后添加 |
| wb | 写二进制 binary |
| rb | 读二进制 binary |
| ab | 添加二进制 |
| w+ | 又可以读又可以(创建)写 |
| r+ | 又可以读又可以写, 文件不存在会报错 |
| a+ | 可读写,在文本最后添加 |
| x | 创建 |

分享、在看与点赞

只要你点,我们就是胖友

来自: Python的文件管理https://mp.weixin.qq.com/s?__biz=Mzk0NTQ3OTk3MQ==&mid=2247485590&idx=1&sn=23e03612bbd193273436dc260533f8aa&chksm=c31580daf46209cc27780184562e9b9d1097ce6d617f66b715fdd58b9cbe4adadeed76cf80e7&token=355315523&lang=zh_CN#rd

相关推荐
LinXunFeng5 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
兵慌码乱9 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
乘风gg9 小时前
为什么AI 时代来临,大部分人吃不到红利
前端·ai编程·claude
恋猫de小郭10 小时前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
IT_陈寒10 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
恋猫de小郭10 小时前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
Hyyy11 小时前
理解LLM的基本工作原理:预训练、微调、推理的区别
前端
luckdewei11 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
Gatlin11 小时前
前端逆向与反逆向:一场猫鼠游戏的底层逻辑与实战
前端
Pedantic12 小时前
本地通知(Local Notifications)学习笔记
前端