吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1097|回复: 12
收起左侧

[学习记录] Python读写文件-个人笔记

  [复制链接]
甜萝 发表于 2024-5-13 23:59
本帖最后由 paypojie 于 2024-5-14 10:54 编辑

要在Python中读写文件 请使用open()函数 使用open()函数时 会返回一个文件对象 open()函数有两个最常见的字符串参数 分别是filename和mode 第一个参数filename表示被打开文件的文件名 第二个参数mode表示被打开文件的打开模式(模式即打开文件的方式)mode参数有四种 r w a r+ 请牢记 r表示只读 w表示只写 a表示将数据追加到文件中的末尾 而r+表示读写 此外 mode参数是可选的 当忽略不写是 默认为r(默认只读)注意 在读取非文本文件时(例如图片 音乐 视频等)需要在mode中追加b 这表示 以二进制模式来读写文件 请注意 在python中 需要注意文件路径 下面这种写法是错误的 具体我也解释不清
[Python] 纯文本查看 复制代码
f = open('C:\Users\Administrator\readme.txt')
以下三种方式都是正确写法 推荐用第一种写法
[Python] 纯文本查看 复制代码
# 用r前缀 表示原始字符串
f = open(r'C:\Users\Administrator\readme.txt')
# 用双反斜杠来表示反斜杠(在python中 反斜杠是转义字符 所以需要用双反斜杠来表示反斜杠)    
f = open('C:\\Users\\Administrator\\readme.txt') 
# 使用正斜杠   
f = open(r'C:/Users/Administrator/readme.txt')
将读取到的文本文件内容给输出 然后关闭文件 最后再判断是否成功关闭
[Python] 纯文本查看 复制代码
# 读取文本内容
read_content = f.read() 
# 将读取到的文本内容给输出
print(read_content)
# 在处理文件对象完成之后 要对文件进行关闭 下面是通过调用close()方法来关闭文件
f.close()
# closeed用于判断文件是否已经被关闭 当文件成功关闭时 返回True 当文件处于打开时 则返回False
print(f.closed)
使用with关键字来处理文件对象 当子句体结束后文件会正确关闭
[Python] 纯文本查看 复制代码
# 除了close()方法能关闭文件 通过使用with关键字也能正确关闭文件 建议使用with关键字来关闭文件 因为这是python官方推荐的做法
# 即使在某个时刻异常 也能正确关闭文件 而且比等效的try-finally代码块要简短
with open(r'C:\Users\Administrator\readme.txt') as f:
    read_content = f.read()
# 在这里 同样用closed属性来检测文件是否被关闭
print(f.closed)

免费评分

参与人数 5吾爱币 +5 热心值 +4 收起 理由
ukpkmkk0000 + 1 + 1 学到了
Atnil + 1 谢谢@Thanks!
uuwatch + 1 + 1 我很赞同!
嘚瑟挨顿揍 + 1 + 1 谢谢@Thanks!
chinawolf2000 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Bayonet 发表于 2024-5-14 00:58
用 with open比较好,即时关闭。
小魔鬼 发表于 2024-5-14 06:05
Zaof1 发表于 2024-5-14 08:04
加油,支持楼主。记得读写文件还有类似只读只写读写等模式
knightmoon 发表于 2024-5-14 09:04
有问题是因为字符串中有\r ,给你进行了转译
jalonewy 发表于 2024-5-14 09:27
我想加入学习   
jalonewy 发表于 2024-5-14 09:51
错误是因为\ 在python中是转义字符  并没有识别为路径吧
bigsnailbig 发表于 2024-5-14 10:02
学习了,感谢分享,楼主继续!
 楼主| 甜萝 发表于 2024-5-14 10:46
Bayonet 发表于 2024-5-14 00:58
用 with open比较好,即时关闭。

是的 with关键字更合适一点
 楼主| 甜萝 发表于 2024-5-14 10:50
knightmoon 发表于 2024-5-14 09:04
有问题是因为字符串中有\r ,给你进行了转译

是字符串中有\ 在python中 要表示反斜杠可以在字符串前面加前缀r 或者用双反斜杠来表示反斜杠
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-11 03:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表