Erk, I of course meant - path = os.path.join('categories', self.name)
On 8/10/05, mailing list <[EMAIL PROTECTED]> wrote: > Hi Negroup, > > First off, you may want to use os.path.join to create paths - > > path = 'categories/%s' % self.name > > could be - > > path = os.path.join(categories, self.name) > > This will ensure minimum hassle if you ever want to use this across > multiple OS. > Also, it looks a little tidier, and IMAO, tidier code is easier to maintain. > > As for what you're wanting to do with the list comprehension, once > again I'd use os.path.join, but otherwise your comprehension looks > workable. > > On 8/10/05, Negroup - <[EMAIL PROTECTED]> wrote: > > 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. > > _______________________________________________ > > Tutor maillist - Tutor@python.org > > http://mail.python.org/mailman/listinfo/tutor > > > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor