page contents

Python文件操作:轻松读写各种文件,掌握文件处理技巧,让你的程序与数据无缝对接!

这次咱来聊聊Python的文件操作。掌握了这个,你的程序就能从外部读取数据,处理完又能写回去,简直不要太方便。主要内容包括:文件的打开、读取、写入和关闭啦。还会涉及到不同模式,像只读、只写、追加这些。通过学习这些,你就可以让你的Python程序跟各种数据自由交互啦!

attachments-2026-01-xDfr4LWe697c0b2c5d7b3.png这次咱来聊聊Python的文件操作。掌握了这个,你的程序就能从外部读取数据,处理完又能写回去,简直不要太方便。主要内容包括:文件的打开、读取、写入和关闭啦。还会涉及到不同模式,像只读、只写、追加这些。通过学习这些,你就可以让你的Python程序跟各种数据自由交互啦!

# 文件打开与关闭

文件就像一扇门,要读取或写入数据,你得先打开它。Python里,open() 函数就是负责开门的。开了门,用完了记得关上,不然可能会出问题,这就是close() 函数。

file = open("my_file.txt""r")  # 以只读模式打开一个名为my_file.txt的文件
# 这里可以进行文件的读取操作
file.close()  # 关闭文件

这里的 "r" 就是模式,表示只读。还有 "w"(只写,会覆盖原有内容), "a"(追加,在文件末尾添加内容)等等。要注意的是,如果文件不存在,使用 "w" 模式会创建一个新文件,而 "r" 模式会报错。

温馨提示: 忘记关门是很常见的错误。为了避免这种情况,可以使用 with 语句,它可以自动管理文件的打开和关闭.

withopen("my_file.txt""r"as file:
# 这里进行文件读取操作
    content = file.read()
# 文件在这里被自动关闭

with 语句块结束的时候,文件就自动关闭了,省心!

# 文件读取

打开了文件,下一步就是读取里面的内容。Python 提供了几种读取方式:

  • read():一次性读取整个文件内容,放到一个字符串里。如果文件太大,可能会占用大量内存。
  • readline():每次读取一行内容。
  • readlines():一次性读取所有行,放到一个列表里,每行是列表的一个元素。
withopen("my_file.txt""r"as file:
    content = file.read()  # 读取整个文件
print(content)

withopen("my_file.txt""r"as file:
    line = file.readline()  # 读取一行
print(line)

withopen("my_file.txt""r"as file:
    lines = file.readlines()  # 读取所有行
for line in lines:
print(line.strip()) # strip() 用于移除字符串头尾指定的字符(默认为空格或换行符)

选用哪种方式,取决于你的需求和文件的大小。一般来说,如果文件不大,read() 最方便。如果文件很大,或者需要逐行处理,readline() 或 readlines() 更合适。

# 文件写入

写入内容也很简单,使用 write() 函数。

withopen("my_file.txt""w"as file:
    file.write("Hello, world!\n")
    file.write("This is a new line.")

注意,"w" 模式会覆盖原有内容。如果你想在文件末尾添加内容,就用 "a" 模式。

withopen("my_file.txt""a"as file:
    file.write("\nAdding more content...")

写入的时候,换行符 \n 很重要,不然所有内容会挤在一行。

# 文件模式详解

文件模式决定了你对文件能做什么,以及怎么做。一些常用的模式:

  • "r":只读(默认模式)。文件必须存在,否则报错。
  • "w":只写。如果文件存在,覆盖原有内容;如果不存在,创建新文件。
  • "a":追加。如果文件存在,在末尾添加内容;如果不存在,创建新文件。
  • "r+":读写。文件必须存在,可以读也可以写。
  • "w+":读写。如果文件存在,覆盖原有内容;如果不存在,创建新文件。
  • "a+":读写。如果文件存在,在末尾添加内容;如果不存在,创建新文件。

还有一些二进制模式,用来处理非文本文件,比如图片、音频这些。在模式后面加上 "b" 就行了,比如 "rb"、 "wb" 。

# 以二进制只读模式打开图片
withopen("image.jpg""rb"as file:
    image_data = file.read()

温馨提示: 文本模式和二进制模式的处理方式略有不同。文本模式会自动处理换行符,而二进制模式则不会。

文件指针

文件指针就像一个光标,指示当前读取或写入的位置。

  • seek(offset, whence):移动文件指针。offset 是偏移量,whence 是起始位置(0:文件开头,1:当前位置,2:文件末尾)。
  • tell():返回当前文件指针的位置。
withopen("my_file.txt""r"as file:
print(file.tell())  # 输出:0
    file.read(5)  # 读取 5 个字符
print(file.tell())  # 输出:5
    file.seek(0)  # 回到文件开头
print(file.tell())  # 输出:0

seek() 和 tell() 在处理大文件,或者需要随机访问文件内容时很有用。

# 异常处理

文件操作可能会出错,比如文件不存在,权限不够等等。为了让程序更健壮,要使用异常处理。

try:
withopen("non_existent_file.txt""r"as file:
        content = file.read()
print(content)
except FileNotFoundError:
print("文件未找到!")
except Exception as e:
print(f"发生错误:{e}")

try...except 语句可以捕获异常,并进行相应的处理。这样,即使出现错误,程序也不会崩溃,而是会给出友好的提示。

# 应用场景举栗

文件操作的应用场景非常广泛。

  • 数据存储:将程序运行结果保存到文件中,方便以后使用。比如,爬虫程序爬取的数据,可以保存到 CSV 文件中。
  • 配置文件:程序的配置信息,可以放到一个文本文件中,程序启动时读取这些配置信息。
  • 日志记录:程序运行过程中的一些信息,可以记录到日志文件中,方便调试和问题排查。
# 写入配置信息
config = {"name""My App""version""1.0"}
withopen("config.txt""w"as file:
for key, value in config.items():
        file.write(f"{key}={value}\n")

# 读取配置信息
config = {}
try:
withopen("config.txt""r"as file:
for line in file:
            key, value = line.strip().split("=")
            config[key] = value
except FileNotFoundError:
print("配置文件未找到!")

print(config)

文件操作是编程的基础,也是必备技能。勤加练习,灵活运用,相信你很快就能掌握它,让你的程序更加强大!

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

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

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2026-01-30 09:36
  • 阅读 ( 32 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1783 篇文章

作家榜 »

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