-1

次のデータを含むabc.txtという名前のファイルがあるとします

Nathan  Johnson 23 M
Mary    Kom     28 F
John    Keyman  32 M
Edward  Stella  35 M

ファイル内のデータ (レコード) のオブジェクトを作成するにはどうすればよいですか?

私が行ったコード。ファイル内のデータのオブジェクトを作成する楽しみがありません

class Records:
    def __init__(self, firstname, lastname, age, gender):
        self.fname = firstname        
        self.lname = lastname 
        self.age = age 
        self.gender = gender
    def read(self):
        f= open("abc.txt","r")
        for lines in f:
            print lines.split("\t") 

さらにどうすればいいですか?私はPythonの初心者で、このタスクが与えられました。私を助けてください ?

4

1 に答える 1

3

ここでオブジェクトを使用しましたが、namedtupleより適切だったでしょう。

# Creating the class
class Records:
    def __init__(self, firstname, lastname, age, gender):
        self.fname = firstname
        self.lname = lastname
        self.age = age
        self.gender = gender

# Using open to open the required file, and calling the file f,
# using with automatically closes the file stream, so its less
# of a hassle.
with open('object_file.txt') as f:
    list_of_records = [Records(*line.split()) for line in f]  # Adding records to a list

for record in list_of_records:
    print record.age  # Printing a sample
于 2013-10-21T06:49:11.140 に答える