• Python学习入门基础教程(learning Python)--5.7 Python文件数据记录存储与处理


         本节主要讨论Python下如何通过文件操作实现对数据记录集的存储与处理的操作方法。

         在Python里和其他高级语言一样可以通过文件读写将一些记录集写入文件或者通过文件读操作从文件里读取一条或多条和数据记录集,我们知道记录集recordset是由一个个的数据字段组成的。


         上图,Record里由三个字段组成name、id、job。文件里可以存储多条记录,如下图所示:


           像这样的数据结构record在Python里该怎样处理呢?很简单,记录有几个字段就读或者写几次然后结束一条记录的读写操作,下面我们先看看如何写入一条数据记录呢?之后我们在看看如何读一条记录。

           1. 往文件里写入记录

     

    n = input("How many employees records do you want to create? ")
    wr = open("b.txt", 'w')
    for x in range(1, n + 1):
      id = str(raw_input("Plz input your Id: "))
      wr.write(id+'
    ')
      name = raw_input("Plz input your name: ")
      wr.write(name+'
    ')
      job = raw_input("Plz input your job: ")
      wr.write(job+'
    ')
    wr.close()


           程序运行过程如下


    >>> 
    How many employees records do you want to create? 3
    Plz input your Id: 101
    Plz input your name: jeapedu
    Plz input your job: eng
    Plz input your Id: 102
    Plz input your name: jeapedu
    Plz input your job: tec
    Plz input your Id: 103
    Plz input your name: jeapedu
    Plz input your job: fae
    >>> 

           程序运行结果如下:


           2. 从文件里读取记录

           由于数据记录是由三个字段组成,故在while循环体内需要读取三次,可完成每条记录的三个字段的读取操作,程序代码如下所示:

    rr = open("b.txt", 'r')
    
    id = rr.readline()
    id = id.rstrip('
    ')
    
    while id != "":
      print id,
      name = rr.readline()
      name = name.rstrip('
    ')
      print name,
      job = rr.readline()
      job = job.rstrip('
    ')
      print job
      id = rr.readline()
      id = id.rstrip('
    ')
    print "read finish!"
    rr.close()
    


           运行结果如下所示:

    >>> 
    101 jeapedu eng
    102 jeapedu tec
    103 jeapedu fae
    read finish!
    >>> 



    -->


  • 相关阅读:
    Scrapy(爬虫)基本运行机制
    Python面向对象中的“私有化”
    基于Requests和BeautifulSoup实现“自动登录”
    BeautifulSoup模块
    Python爬虫之-Requests
    踩坑之jinja2注释问题(Flask中)
    Struts2 从一个Action跳至另一个Action
    @JSON(serialize=false),过滤不需要的变量
    JS function的参数问题
    nginx反向代理配置及优化
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3192149.html
Copyright © 2020-2023  润新知