2017-06-06 5 views
0

私はすべてのファイルデータを印刷しようとしていますが、最初は何も表示されません...なぜですか?私がそれを数回実行すると、最初の入力なしでデータが表示されます...すべてのファイルデータを印刷するには

class Data: 

    def __init__(self): 

     self.add = open("user_data.txt", "a") 
     self.add.write("data") 

    def add_data(self, user_name, password): 

     self.add.write(user_name) 
     self.add.write(",") 
     self.add.write(password) 
     self.add.write(";") 
     self.read = open("user_data.txt", "r") 

    def show_file(self): 

     print self.read.read() 


d = Data() 
d.add_data("asdv", "safvas") 
d.show_file() 
+2

「self.add」のおかげで、すでに同じファイルが開いています。まずそれを閉じます。 –

+0

それはあなたがしようとしていることによって異なります。 –

+0

大変ありがとうございます – shahar

答えて

0

ファイルを書き終えたら、ファイルを閉じる必要があります。また、show_file()メソッドで読み込むためにファイルを開く必要があります。

class Data: 

def __init__(self): 

    self.add = open("user_data.txt", "a") 
    self.add.write("data") 
    self.add.close() 

def add_data(self, user_name, password): 
    self.add = open('user_data.txt', 'a') 
    self.add.write(user_name) 
    self.add.write(",") 
    self.add.write(password) 
    self.add.write(";") 
    self.add.close() 

def show_file(self): 
    self.read = open("user_data.txt", "r") 
    print self.read.read() 


d = Data() 
d.add_data("asdv", "safvas") 
d.show_file() 
+0

私はそれぞれのファイルを開くべきではありませんか? – shahar

+0

私の最近の編集をご覧ください。 – Ajax1234

関連する問題