Fatih Güven wrote: > 4 Kasım 2014 Salı 15:37:59 UTC+2 tarihinde Peter Otten yazdı: >> Veek M wrote: >> >> > Fatih Güven wrote: >> > >> >> 4 Kas?m 2014 Sal? 13:29:34 UTC+2 tarihinde Fatih Güven yazd?: >> >>> I want to generate a unique variable name for list using python. >> >>> >> >>> list1=... >> >>> list2=... >> > >> > for x in range(1,10): >> > exec("list%d = []" % x) >> >> Why would you do this? > > I have a structured and repetitive data.
I was actually asking "Veek M". > I want to read a .txt file line > by line and classified it to call easily. For example employee1 has a > name, a salary, shift, age etc. and employee2 and other 101 employee have > all of it. > > Call employee1.name or employee2.salary and assign it to a new variable, > something etc. I can only repeat my previous advice. Instead of creating variables for employee1, employee2, and so on make a list of employees: $ cat employees.txt Peter,3000 Paul,2000 Mary,1000 $ cat employees.py #!/usr/bin/env python3 import csv class Employee: def __init__(self, name, salary): self.name = name self.salary = salary if __name__ == "__main__": employees = [] with open("employees.txt") as f: for row in csv.reader(f): employees.append(Employee(row[0], int(row[1]))) for employee in employees: print(employee.name, "-- salary:", employee.salary, "doubloons") $ python3 employees.py Peter -- salary: 3000 doubloons Paul -- salary: 2000 doubloons Mary -- salary: 1000 doubloons You wouldn't want to reference Paul as employee2 -- what if the order in the text file changed? Instead you can make a dict that maps name to employee... employees_by_name = {} for employee in employees: name = employee.name if name in employees_by_name: raise ValueError("duplicate name {}".format(name)) employees_by_name[name] = employee and use that dict to look up an employee: while True: name = input("enter a name ") if name == "": print("That's all folks") break if name not in employees_by_name: print("unknown name") else: print("Salary:", employees_by_name[name].salary, "doubloons") $ python3 employees.py Peter -- salary: 3000 doubloons Paul -- salary: 2000 doubloons Mary -- salary: 1000 doubloons enter a name Peter Salary: 3000 doubloons enter a name Mary Salary: 1000 doubloons enter a name paul unknown name enter a name Paul Salary: 2000 doubloons enter a name That's all folks $ -- https://mail.python.org/mailman/listinfo/python-list