前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 3.5 读写文件

Python 3.5 读写文件

作者头像
py3study
发布2020-01-06 14:47:48
3420
发布2020-01-06 14:47:48
举报
文章被收录于专栏:python3python3

在Python中读写文件不需要像Java或.Net一样要另外导入io"包",可直接使用open方法

open() 返回一个文件对象,并且通常使用两个参数:open(filename, mode)

代码语言:javascript
复制
>>>f = open('youfile', 'w')

第一个参数:包含文件名的字符串

第二个参数:包含怎么使用这个文件的描述

有以下几种模式:

r:只读(默认)

w:只写(不存在则创建,存在则先清空)

x:创建新文件并打开设置可写权限

a:打开文件并设置可写权限,向文件最后追加内容

b:以二进制读取文件,以字节对象读写数据,用于操作不包含文本的文件

t:文本模式(默认)

+:为更新而打开一个硬盘文件(可读写)

r+:可读可写

一般情况下,文件是以文本模式被打开,这意味着,你可以指定编码的对文件进行读写,如果没有指定就默认使用平台编码(具体查看open())

在文本模式中,读取文件被默认的转换到平台指定的换行符\n(Unix:\n,Windows:\r\n)

在写模式中,\n被转换为平台指定的换行符

对于文本文件修改还好,但是像JPEG或EXE文件会被破坏,所以在使用二进制模式读写这类文件时一定要小心。

在读写文件时要考虑很多意外的情况,如,没有找到要打开的文件就会抛异常(r模式):

代码语言:javascript
复制
>>> open('f.txt', 'r')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: 'f.txt'

所以在读文件时要对异常进行处理:

代码语言:javascript
复制
try:
    f = open('myfile.txt')
    s = f.readline()
    i = int(s.strip())
except OSError as err:
    print("OS error: {0}".format(err))
except ValueError:
    print("Could not convert data to an integer.")
except:
    print("Unexpected error:", sys.exc_info()[0])
    raise

本文参考官网.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档