您的位置:首页 > 编程语言 > Python开发

python 文件操作总结

2013-04-16 21:26 435 查看
python中打开一个文件
python打开一个文件可以使用open和file。推荐使用open。一般推荐open的使用方式为:
file=opne("file_name","r",encoding="utf-8")
第二个参数文件的读取模型,主要使用读(r),写(w)、追加(a),第三个参数是可选参数,指定文件读取采用的编码,强烈建议使用该参数。不指定则使用系统默认编码,可能造成程序跨平台出现问题。
open函数返回的对象即可以看做是一个流对象,也可以看做是一个迭代器。

读取文件内容
直接使用流对象中的read函数,将会读取文件的所有内容。一般来说我们常使用的是一次读取一行,可使用readline方法,如果需要一次读取所有行,使用readlines方法。readline方法返回读取的行内容,readlines方法将所有行作为一个列表返回。一次一行的获取文件内容可直接使用for(此时open返回的作为一个迭代器)。

input_file = open("../dev.conll06.pos.gold","r",encoding="utf-8")
#get a line
line = goldFile.readline().strip()
print(line)
#get all remains lines
lines = goldFile.readlines()

#iterator all lines
for line in input_file:
print (line)
注意,在python中读取文件后不会自动舍弃每行的换行符。

关闭文件
我们打开一个文件,那么这个文件就会占用资源。如果我们不在使用这个文件,那么就可以显示的关闭它。关闭文件使用close方法。但是有时候可能因为异常导致我们的close方法没有执行,这时可使用with子句来实现。
line_number = 0
with open('examples/favorite-people.txt', encoding='utf-8') as a_file:
for a_line in a_file:
line_number += 1
print('{:>4} {}'.format(line_number, a_line.rstrip()))
不论是否出现异常,with子句都会调用close方法来关闭文件。

写入文件
写入文件时,打开方式使用w或者是a。向文件中写入一行使用write方法,写入多行使用writelines方法。注意,write不会自动在每行后面加上换行符。写完以后应该调用close关闭文件,当然可以使用with来自动关闭文件。推荐使用with实现。

file_object = open('thefile.txt', 'w')

#write a line
file_object.write("hello world!\n")

#write lines
data = ["hello world\n","hello python\n"]
file_object.writelines(data)
#close file
file_object.close()

#using with we needn't close file explicitly
with open("test.txt") as file_out:
file_out.write("new line\n");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: