前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习日记-1

Python学习日记-1

作者头像
py3study
发布2020-01-10 15:37:56
3970
发布2020-01-10 15:37:56
举报
文章被收录于专栏:python3python3python3

*使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的。

1.当输入为纯数字时,Input返回的是数值类型,如int,float。raw_inpout返回的是字符串类型,string类型

2.input会计算在字符串中的数字表达式,而raw_input不会。

def input(prompt):
    return (eval(raw_input(prompt)))

eval 函数的功能是将字符串生成语句执行。

*当然使用sys.stdin进行文件读取的时候,使用raw_input而不是input。

dict数据类型存入文件的读写操作源代码:

dbfilename = 'people-file'  
 
ENDDB = 'enddb.' 
 
ENDREC = 'endrec.' 
 
RECSEP = '=>' 
 
  
 
def storeDbase(db, dbfilenamedbfilename=dbfilename):  #加载dict数据到文件
 
    "formatted dump of database to flat file" 
 
    dbfile=open(dbfilename,'w')                       #文件打开函数open(),w代表写操作
 
    for key in db: 
 
        dbfile.write(key+'\n')                        #文件写操作。不带换行符
 
        for(name,value) in db[key].items():           
 
            dbfile.write(name+RECSEP+repr(value)+'\n') #repr函数代表取得字符串规范表示。反引号同样的作用
 
        dbfile.write(ENDREC+'\n') 
 
    dbfile.write(ENDDB+'\n') 
 
    dbfile.close() 
 
     
 
def loadDbase(dbfilenamedbfilename=dbfilename):  #读取文件数据到dict函数
 
    "parse data to reconstruct database" 
 
    dbfile = open(dbfilename)                    #默认关键字为‘r’
 
    import sys 
 
    sys.stdin = dbfile                           #sys.stdin 系统输入       
 
    db = {}                                      #定义dict
 
    key = raw_input()                              
 
    while key != ENDDB: 
 
        rec = {} 
 
        field = raw_input() 
 
        while field != ENDREC: 
 
            name,value = field.split(RECSEP)             #split函数以括号内符号分割字符串
 
            rec[name] = eval(value) 
 
            field = raw_input() 
 
        print rec 
 
        db[key] = rec 
 
        key = raw_input() 
 
    return db 
 
  
 
if __name__ == '__main__':  
 
    storeDbase(db) 
 
    db1=loadDbase() 
 
    db1['tom']['name']='Tom Tomson' 
 
    storeDbase(db1) 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档