On Sun, 11 Nov 2007 11:22:19 +0100, Florian Lindner wrote: > Hello, > I have a piece of code like that: > > for row in resultSet: > logs += "/home/%s/%s/log/access.log \n" % (row[1], row[0]) > logs += "/home/%s/%s/log/error.log \n" % (row[1], row[0]) # <-- > > Now I want to avoid the newline at the last iteration and only at the > second line.
That means your log file doesn't end with a newline. That's often not good, because it can confuse some tools. Also, appending lots of strings together like that is very inefficient. > How to do that most elegantly with Python? If you have a small number of rows (say, less than a few tens of thousands), you can do this: rows = [] for row in resultSet: rows.append("/home/%s/%s/log/access.log" % (row[1], row[0])) rows.append("/home/%s/%s/log/error.log" % (row[1], row[0])) # note that there are no newlines logs = '\n'.join(rows) # do it once at the end But again, when you write text to a file, you should end it with a newline. It isn't compulsory, but it is best practice. Alternatively, check out the logging module. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list