Python3 open函数返回的文件对象的方法
本文介绍了Python3 open函数返回的文件对象及其所具有的方法的使用,欢迎大家的学习。
open函数写文件
#!/usr/bin/python3
# 打开一个文件
f = open("aa.txt", "w")
# 写文件内容
f.write( "Python 语言教程。\n欢迎大家的学习!!\n" )
# 关闭打开的文件
f.close()
open函数:第一个参数为要打开的文件名。
第二个参数描述文件如何使用的字符。 mode 是 'r'表示文件只读,'w'表示 只用于写 (如果存在同名文件则将被删除),
'a' 用于追加文件内容,所写的任何数据都会被自动增加到末尾.,'r+' 同时用于读写。
文件对象的方法
read():读取一个文件的内容
读取文件的内容,调用 f.read(size),这将读取size大小的数据,,然后作为字符串或字节对象返回。
size 是一个数字类型的参数。 当 size 没传或者为负,则会返回该文件的所有内容。
#!/usr/bin/python3
# 打开一个文件
f = open("aa.txt", "r")
str = f.read(6)
print(str)
# 关闭打开的文件
f.close()
readline():从文件中读取一行
readline() 会从文件中读取一行。换行符为 '\n'。readline() 如果返回一个空字符串,表示已经读取到最后一行。
#!/usr/bin/python3
# 打开一个文件
f = open("aa.txt", "r")
str = f.readline()
print(str)
# 关闭打开的文件
f.close()
readlines():返回文件中的所有行
readlines() 将返回该文件中包含的所有行,一次读取所有内容并按行返回列表list。
如果设置了参数 size,则读取size指定的长度的字节,并且将这些字节按行分割。
#!/usr/bin/python3
# 打开一个文件
f = open("aa.txt", "r")
str = f.readlines()
print(str)
# 关闭打开的文件
f.close()
输出:['Python 是一个非常好的语言。\n', '是的,非常好!!\n']
迭代一个文件对象再读取每行
#!/usr/bin/python3
# 打开一个文件
f = open("aa.txt", "r")
for line in f:
print(line, end='')
# 关闭打开的文件
f.close()
write(): 写入字符串到文件
write(string) 将 string 字符串写入到文件中,然后返回写入的字符数。
反复调用write()来写入更多的内容到文件,但是一定要调用f.close()来关闭文件。
当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再写入。
当调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。未调用close()的后果是数据可能只写了一部分到磁盘
使用with语句,就不用在调用close()方法了。
#!/usr/bin/python3
# 打开一个文件
f = open("aa.txt", "w")
# 写文件内容
f.write( "Python 语言教程。\n欢迎大家的学习!!\n" )
# 关闭打开的文件
f.close()
tell():返回文件对象当前所处的位置
tell() 返回文件对象当前所处的位置,它是从文件开头开始算起的字节数。
#!/usr/bin/python3
# 打开一个文件
f = open("aa.txt", "r")
# 读取文件的前10个字符
s = f.read(6)
print(s)
# tell()返回文件对象当前所处的位置
print(f.tell())
# 关闭打开的文件
f.close()
seek():改变文件当前的位置
如果我们要改变文件当前的位置,就使用seek(offset, from_what) 函数。
from_what 的值,如果是 0 表示开头,如果是 1 表示当前位置,2 表示文件的结尾,例如:
seek(x,0) : 从起始位置即文件首行首字符开始移动 x 个字符
seek(x,1) : 表示从当前位置往后移动x个字符
seek(-x,2):表示从文件的结尾往前移动x个字符
from_what 值为默认为0,即文件开头。
#!/usr/bin/python3
# 打开一个文件
f = open('aa.txt', 'rb+')
# 移动到文件的第六个字节
f.seek(1)
a = f.read(1)
print(a)
# 移动到文件的倒数第一字节
f.seek(-1, 2)
a = f.read(1)
print(a)
close():关闭文件并释放系统的资源
文件操作结束后需要关闭,因为文件对象会占用操作系统的资源,用完需要及时释放。
当处理完一个文件后,需要调用 close() 来关闭文件并释放系统的资源,如果尝试再调用该文件,则会抛出异常。
在文件读写时都有可能产生IOError,出错后,后面的close()函数就不会调用了。为了保证无论是否出错都能正确地关闭文件,我们使用try ... finally语句。
#!/usr/bin/python3
try:
# 打开一个文件
f = open('aa.txt', 'r')
print(f.read())
finally:
if f:
f.close()
Python的with语句来自动帮我们调用close()方法
#!/usr/bin/python3
# 打开一个文件
with open('aa.txt', 'r') as f:
print(f.read())
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型