Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import csv
- csv_filename = "qwerty.csv"
- class CarBase():
- def __init__(self, car_type, brand, photo_file_name, carrying):
- self.car_type = car_type
- self.brand = brand
- # print(photo_file_name.split(".")[-1])
- # print([".jpg", ".jpeg", ".png", ".gif"][2])
- # if photo_file_name.split(".")[-1] in ["jpg", "jpeg", "png", "gif"]:
- self.photo_file_name = photo_file_name
- # else:
- # print("error")
- self.carrying = float(carrying)
- def get_photo_file_ext(self):
- return os.path.splitext(self.photo_file_name)[1]
- class Car(CarBase):
- def __init__(self, brand, photo_file_name, carrying, passenger_seats_count, car_type="car", ):
- super().__init__(car_type, brand, photo_file_name, carrying)
- self.passenger_seats_count = int(passenger_seats_count)
- class Truck(CarBase):
- def __init__(self, brand, photo_file_name, carrying, body_whl, car_type="truck"):
- super().__init__(car_type, brand, photo_file_name, carrying)
- if (len(body_whl.split("x")) < 4):
- try:
- body_whl = [float(i) for i in body_whl.split("x")]
- self.body_length = body_whl[0]
- self.body_width = body_whl[1]
- self.body_height = body_whl[2]
- self.body_whl = body_whl
- except ValueError:
- self.body_length = 0.0
- self.body_width = 0.0
- self.body_height = 0.0
- else:
- self.body_length = 0.0
- self.body_width = 0.0
- self.body_height = 0.0
- def get_body_volume(self):
- return self.body_width * self.body_height * self.body_length
- class SpecMachine(CarBase):
- def __init__(self, brand, photo_file_name, carrying, extra, car_type="spec_machine"):
- super().__init__(car_type, brand, photo_file_name, carrying)
- self.extra = extra
- def get_car_list(csv_filename):
- car_list = []
- try:
- with open(csv_filename) as csv_fd:
- reader = csv.reader(csv_fd, delimiter=';')
- next(reader) # пропускаем заголовок
- for row in reader:
- # try:
- # print(row[0])
- # for i in row:
- # print(i)
- if row[0] == "car":
- l = Car(row[1], row[3], row[5], row[2], row[0])
- car_list.append(l)
- elif row[0] == "truck":
- l = Truck(row[1], row[3], row[5], row[4], row[0])
- car_list.append(l)
- elif row[0] == "spec_machine":
- l = SpecMachine(row[1], row[3], row[5], row[6], row[0])
- car_list.append(l)
- # except IndexError:
- # continue
- return car_list
- except ValueError:
- return car_list
- #
- # # # g = Truck()
- # honda = Truck("honda", "f.png", 1, "2.4x2.3x2")
- # print(honda.body_width)
- # # # honda.brand = "qwerty"
- # # # print(honda.get_body_volume())
- l = get_car_list("qwerty.csv")
- for i in l:
- print(i)
- # print(l[2].body_width)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement