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

相关推荐
老歌老听老掉牙5 小时前
WorkBuddy 如何接入 PrePoMax 的 MCP 服务器
服务器·ai·mcp
“AI国潮设计-小江”6 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
沙蒿同学6 小时前
不引 Ghostscript:我用纯 Go 给 PDF 做了一场「压缩手术」
前端·后端·github
Linux_cy6 小时前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
MoRanzhi12036 小时前
第6篇(下)· 使用 PyQt5 实现 2048 高性能计算版:统一运行控制与跨模式安全交接
python·pyqt·进程管理·状态机·软件架构·并发控制·数据一致性
code tsunami6 小时前
【无标题】
开发语言·python
变与不变8066 小时前
jQuery细节以及使用应用场景
前端·javascript·jquery
CodeGL6 小时前
10、Python基础之进程和线程
开发语言·python
TechWayfarer7 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
sun_weitao8 小时前
极简版 MCP 工具实现方案
java·linux·服务器