python 文件操作总结

  • 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");



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值