温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python如何读取文件

发布时间:2022-02-19 16:47:58 来源:亿速云 阅读:176 作者:iii 栏目:开发技术

这篇文章主要介绍“python如何读取文件”,在日常操作中,相信很多人在python如何读取文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python如何读取文件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

打开文件对象

使用 open() 函数打开文件对象。必须指定文件路径。可以使用相对路径,也可以使用绝对路径。可以选择传入文件读写方式,默认为只读方式。可以传入文件编码方式,默认为 gbk 。

f =open('Zen.txt', 'r', encoding="utf-8")
#使用读模式打开一个文件对象,传入参数为文件相对位置和读写模式,编码格式为utf-8

常用标识符如下:

 r 以只读方式打开文件,从文件开头开始读取,没有文件会报错。
 w 以只写方式打开文件,如果没有文件则新建一个文件,如果有文件则从头开始写这个文件。
 a 以追加方式打开文件,如果没有文件则新建一个文件,如果有文件则从文档末尾开始写这个文件。
 a+ 可读写模式,写只能写在文件末尾。
 w+ 可读写,与a+的区别是要清空文件内容。
 r+ 可读写,与a+的区别是可以写到文件任何位置。

读取文件内容

读取文件内容可以用 read() 的一系列函数进行读取,详见代码(需要文件读写模式中可读,即只写方式不能读取文件)。

f =open('Zen.txt', 'r', encoding="utf-8")
#使用只读模式打开文件对象,文件编码格式为utf-8
f.read()
#一次将文本读取完毕,文件过大时容易溢出,可以指定文件大小
f.readline()
#一次读取一行文本数据,读取速度较慢
f.readlines()
#一次将文本读取完毕并按列生成字符串列表

写入文件内容

写入文件内容可以用 write() 的一系列函数进行写入,详见代码(需要文件模式中可写,即只读方式不能写入文件)。

f =open('Zen.txt', 'w', encoding="utf-8")
#使用只写模式打开文件对象,文件编码格式为utf-8
str = "The Zen of Python, by Tim Peters"
seq = {'Beautiful is better than ugly.','Explicit is better than implicit.','Simple is better than complex.'}
f.write(str)
#write()的参数是一个字符串,就是你要写入文件的内容.
f.writelines(seq)
#writelines()的参数是序列,比如列表,它会迭代帮你写入文件。

关闭文件

文件使用完后必须关闭,因为文件对象会占用系统资源,使用 close() 方法可以关闭文件。

f =open('Zen.txt', 'w', encoding="utf-8")
#使用只写模式打开文件对象,文件编码格式为utf-8
str = "The Zen of Python, by Tim Peters"
seq = {'Beautiful is better than ugly.','Explicit is better than implicit.','Simple is better than complex.'}
f.write(str)
#write()的参数是一个字符串,就是你要写入文件的内容.
f.writelines(seq)
#writelines()的参数是序列,比如列表,它会迭代帮你写入文件。
f.close()

使用try -catch抓取IOError

由于文件读写时都有可能产生 IOError,一旦出错,后面的 f.close() 就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try -catch-finally来实现。

try:
    f = open('zen.txt', 'r',encoding="utf-8")
    print(f.read())
finally:
#当读写产生IOError时,使用finally将文件关闭
    if f:
        f.close()

使用 with 语句

使用 with 语句可以帮我们调用 close() 方法,这样就不用写 try-catch-finally 语句了。

到此,关于“python如何读取文件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI