page contents

文件操作不用愁:Python读写文件一篇就够!

跟文件打交道是每个程序员的家常便饭,不管是读取配置文件、处理日志文件,还是存储数据,都离不开文件操作。今天咱就一起来聊聊Python中的文件操作,把这些基础但又超级实用的知识点一网打尽。

attachments-2024-12-zaVsbwBo675b8eeb32930.png跟文件打交道是每个程序员的家常便饭,不管是读取配置文件、处理日志文件,还是存储数据,都离不开文件操作。今天咱就一起来聊聊Python中的文件操作,把这些基础但又超级实用的知识点一网打尽。

1.基本文件操作:open()函数是关键

在Python中,操作文件的第一步就是使用open()函数。

这个函数就像是打开房门的钥匙,让我们能够对文件进行读写操作。

# 最基本的打开方式

file = open('test.txt', 'r')

content = file.read()

file.close()

# 更推荐的写法

with open('test.txt', 'r') as file:

    content = file.read()

温馨提示:用with语句打开文件特别靠谱,因为它会自动帮我们关闭文件,不用担心忘记close()。

2.文件打开模式大揭秘

看看这些常用的文件打开模式:

# 只读模式 - 最常用的模式

with open('file.txt', 'r') as f:

    data = f.read()# 写入模式 - 会覆盖原文件

with open('file.txt', 'w') as f:

    f.write('写点啥呢')# 追加模式 - 在文件末尾添加内容

with open('file.txt', 'a') as f:

    f.write('再写点啥呢')# 二进制模式 - 处理图片、音频等文件

with open('picture.jpg', 'rb') as f:

    img_data = f.read()

3.读取文件的花式操作

文件读取也有好几种玩法:

# 一次性读取全部内容with open('test.txt', 'r') as f:    content = f.read()# 按行读取with open('test.txt', 'r') as f:    for line in f:        print(line.strip())  # strip()去掉换行符

# 读取指定字节数with open('test.txt', 'r') as f:    chunk = f.read(100)  # 读取100个字符

温馨提示:处理大文件时,最好别用read()一次性读取,容易把内存撑爆。按行读取或者分块读取更靠谱。

4.写入文件的正确姿势

写文件也有些小技巧:

# 写入字符串with open('output.txt', 'w') as f:    f.write('Hello World!')

# 写入多行

lines = ['第一行\n', '第二行\n', '第三行\n']

with open('output.txt', 'w') as f:

    f.writelines(lines)

# 格式化写入

name = '天哥'

age = 18

with open('output.txt', 'w') as f:

    f.write(f'我是{name},今年{age}岁')

5.处理文件编码

碰到中文文件,编码问题最烦人:

# 指定编码读取

with open('chinese.txt', 'r', encoding='utf-8') as f:

    content = f.read()

# 用gbk编码写入

with open('output.txt', 'w', encoding='gbk') as f:

    f.write('写入中文内容')

温馨提示:Windows系统下处理中文文件,记得指定编码,不然容易变成乱码。一般用utf-8准没错。

6.实用小技巧

处理文件路径时,用os模块特别方便:

import os# 拼接文件路径file_path = os.path.join('folder', 'subfolder', 'file.txt')# 检查文件是否存在if os.path.exists(file_path):    print('文件存在')# 创建文件夹os.makedirs('new_folder', exist_ok=True)

写代码的时候记得做好异常处理:

try:

    with open('不存在的文件.txt', 'r') as f:

        content = f.read()

except FileNotFoundError:

    print('哎呀,文件不存在啊')

except PermissionError:

    print('没有权限读取文件')

掌握这些文件操作的基本知识,基本上就能应付日常开发中90%的文件处理需求了。剩下的就是多练习,在实际项目中灵活运用啦!

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2024-12-13 09:34
  • 阅读 ( 53 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1658 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1658 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章