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

相关推荐
卷无止境4 小时前
RAGFlow 项目全景报告:从文档解析引擎到 Agent 原生数据库
后端·python
子兮曰5 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒5 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手5 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
灿飞屋6 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
benchmark_cc6 小时前
单只股票五档盘口接入个人研究仓库:QuantDash 读取、校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
石小石Orz6 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
迪康coolmu6 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
陈随易6 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
总要学点什么7 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质