[Tutor] Question on classes/instances
Negroup -
negroup at gmail.com
Wed Aug 10 03:46:02 CEST 2005
Hi, Sorry for the subject a bit generic. This question comes from a
simple program I'm doing. I could have a working solution, but
considering my inexperience, I'm just asking if my approach is
acceptable.
This is a simple class to manage (actually to create and save)
categories of things. Categories are represented as directories, while
descriptions of categories are stored inside a file called
.description inside the category directory. Look at the code..
class Category:
def __init__(self, name=None, description=None):
self.description = description
if name:
self.name = name
else:
return 'Value expected'
def save(self):
from os import access, F_OK, mkdir
path = 'categories/%s' % self.name
if access(path, F_OK):
return 'Category already present'
else:
mkdir(path)
if self.description:
f = file('%s/.description' % path, 'w')
f.write(self.description)
f.close()
and this is a simple function to get a list of categories, inside the
same module of Category:
def get_categories():
from os import listdir
return listdir('categories')
I would instead, that get_categories returns a list of instances of
Category class instead of a list of strings, so that I can handle
categories with proper APIs. I found this way:
def get_categories():
from os import listdir
# return listdir('categories')
path = 'categories'
categories = [Category(name, file('%s/%s/.description' %
(path, name)).read()) for name in listdir('categories')]
return categories
Is it a good way to solve the problem? Otherwise, I would be glad if
you could propose better solutions.
Thanks for any clarification.
More information about the Tutor
mailing list