2017-06-04 12 views
2

pythonでのファイル処理でnamedtupleからデータを抽出するのに問題があります。 それは場所pythonのファイル処理でnamedtupleからデータを抽出する方法

from collections import namedtuple 

filename=input("Enter name of file ") 
Data=namedtuple('Data',['name','id','balance']) 

def write(): 
    file=open(filename,'a') 
    name=input("Enter name ") 
    idee=input("Enter ID ") 
    bal=input("Enter balance ") 
    data=Data(name,idee,bal) 
    file.write(str(data)) 
    file.close() 

def read(): 
    file=open(filename,'r') 
    for line in file: 
     print(Data.name,"\t",Data.id,"\t",Data.balance,"\n") 

write() 
write() 
read() 

私はdata.nameでデータを抽出するために何をすべき---でプロパティオブジェクトを示して?

答えて

0

ファイルにデータを書き込むと、それは単なる文字列であり、読み込み時には文字列のみを取得できます。

from collections import namedtuple 
import pickle 
filename=input("Enter name of file ") 
Data=namedtuple('Data',['name','id','balance']) 

def write(): 

    name=input("Enter name ") 
    idee=input("Enter ID ") 
    bal=input("Enter balance ") 
    data=Data(name,idee,bal) 
    with open(filename,'ab') as f: 
     pickle.dump(data,f) 

def read(): 
    with open(filename,'rb') as f: 
     while True: 
     try: 
     data=pickle.load(f) 
     print(data.name,"\t",data.id,"\t",data.balance,"\n") 
     except: 
      break 

write() 
write() 
read() 
関連する問題