zoukankan      html  css  js  c++  java
  • python学习文件

    f = open('file的路径',mode='rt')  //地址'e:\xxx'或者'e:/'  mode打开模式

     f.read()  //读取文件内容,指针指到末尾

    创建写入关闭

    f = open('E:\test.txt', 'w')

    f.write('abcdefg')  //要写入内容,要注意文件打开模式是w

    f.close()  //忘记关闭文件会被系统回收

    打印每一行

    for each_line in f:

      print(each_line)

    文件打开模式

    打开模式 执行操作
    'r' 以只读方式打开文件(默认)
    'w' 以写入的方式打开文件,会覆盖已存在的文件
    'x' 如果文件已经存在,使用此模式打开将引发异常
    'a' 以写入模式打开,如果文件存在,则在末尾追加写入
    'b' 以二进制模式打开文件
    't' 以文本模式打开(默认)
    '+' 可读写模式(可添加到其他模式中使用)
    'U' 通用换行符支持


        
    文件对象方法

    文件对象方法 执行操作
    f.close() 关闭文件
    f.read([size=-1]) 从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回
    f.readline([size=-1]) 从文件中读取并返回一行(包括行结束符),如果有size有定义则返回size个字符
    f.write(str) 将字符串str写入文件
    f.writelines(seq) 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
    f.seek(offset, from) 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节
    f.tell() 返回当前在文件中的位置
    f.truncate([size=file.tell()]) 截取文件到size个字节,默认是截取到文件指针当前位置

    f = open('recoed.txt')

    boy = []

    girl = []

    for each_line in f:      #对每一行读取

      if each_line[:6] != '====='  

        (role, line_spoken) = each_line.split(':', 1)  #对每一行分割,':'前的为role,后为line_spoken

        if role == '小甲鱼':            

          boy.append(line_spoken)      #加入到boy列表中

        if role == '小客服':

          girl.append(line_spoken)

      else:

        file_name_boy = 'boy_' + str(count) + '.txt'    #文件名

        file_name_girl = 'girl_' + str(count) + '.txt'

        boy_file = open(file_name_boy, 'w')      #创建文件,并准备写入

        girl_file = open(file_name_girl, 'w')

        

        boy_file.writelines(boy)    #写入boy列表

        girl_file.writelines(girl)

        boy_file.close()

        girl_file.close()

        boy = []        重置列表

        girl = []

        count += 1

    file_name_boy = 'boy_' + str(count) + '.txt'    #最后一段没有==,所以重复一次保存

    file_name_girl = 'girl_' + str(count) + '.txt'

    boy_file = open(file_name_boy, 'w')     

    girl_file = open(file_name_girl, 'w')

    boy_file.writelines(boy)    

    girl_file.writelines(girl)

    boy_file.close()

    girl_file.close()

    f.close()    #关闭文件

    最后用函数封装

  • 相关阅读:
    UVALive 4329 Ping pong
    面试题——设计一个程序:运行报错Stack Overflow Error
    MongoDB 主从复制小实验
    我总结的18个非常好用的vim指令
    php性能优化
    error LNK2019: unresolved external symbol / error LNK2001: 无法解析的外部符号
    CopyU!v2 已经收录到腾讯软件管家!
    HDU 1498 50 years, 50 colors (行列匹配+最小顶点覆盖)
    汉语-词语-庸俗:百科
    汉语-成语-见笑大方:百科
  • 原文地址:https://www.cnblogs.com/jdzhang1995/p/10257480.html
Copyright © 2011-2022 走看看