Python中文件操作简明介绍
打开文件
open函数返回一个文件对象,基本语法:
●file_object=open(file_name,access_mode='r'[,buffering=-1])
file_name是包含要打开的文件名字的字符串,它可以是相对路径或者绝对路径.
●可选变量access_mode也是一个字符串,代表文件打开的模式.通常,文件使用模式‘r',‘w',或是‘a'模式来打开,分别代表读取,写入和追加.
●另外一个可选参数buffering用于指示访问文件所采用的缓冲方式.其中0表示不缓冲,1表示只缓冲一行数据,任何其它大于1的值代表使用给定值作为缓冲区大小.不提供该参数或者给定负值代表使用系统默认缓冲机制
文件内建方法
读出
read(size)方法用来直接读取字节到字符串中,最多读取给定数目个字节.如果size没有给定,文件将被全部读出.
readline()方法读取打开文件的一行,和read()相同,它也有一个可选的size参数,默认为-1,代表读至行结束符.如果提供了该参数,那么在超过size个字节后会返回不完整的行.
readlines()它会读取所有(剩余的)行然后把它们作为一个字符串列表返回.
写入
write()写入字符.
writelines()写入行.这里注意需要显示写入换行符.
文件内移动
seek(offset)移动当前读写位置到指定的offset位置.每次write和read操作后,当前读写位置都会变动.
文件迭代
新方法(更高效)
foreachLineinf
老的方法:
foreachLineinf.readline():
关闭文件
close()通过关闭文件来结束对它的访问.写入文件后不关闭文件可能会丢失缓冲区数据.
缓冲区数据写入文件
flush()方法会直接把内部缓冲区中的数据立刻写入文件.
截取文件
truncate()方法将文件截取到当前文件指针位置或者到给定size,以字节为单位.
实例讲解
#!/usr/bin/python #coding=utf-8
#以写方式打开一个名为welcome.txt文件 f=open("welcome.txt",'w')
#将数据写入文件 f.writelines("welcometohere\n") f.writelines("Thankyou\n") f.writelines("exit\n")
#刷新文件 f.flush()
#关闭文件 f.close()
#以读方式打开一个名为welcome.txt文件 f=open("welcome.txt",'r') printf.read(8)
#重置读写位置,回到文件最开始位置 f.seek(0) printf.readline()