On Wed, Jun 23, 2010 at 10:25 AM, Stephen Hansen <me+list/pyt...@ixokai.io>wrote:
> On 6/23/10 6:45 AM, Victor Subervi wrote: > > Hi; > > I have this line: > > > > cursor.execute('select clientEmail from clients where client=%s', > > (string.replace(client, '_', ' '))) > > clientEmail = cursor.fetchone()[0] > > cursor.execute('select * from %s' % (client)) > > > > client = "Lincoln_Properties" > > With the replacement, the interpreter complains that mydatabase.Lincoln > > doesn't exist. Therefore, the first line of code isn't putting the %s > > replacement in quotes, as I was told by you all it would. So I add > > quotes to it and the interpreter complains on the second line of code > > that it's unsubscriptable (because it's None). What gives? > > Its very early, so excuse me if I fall asleep in the middle of the > response. > > First: Don't do 'string.replace(your_string, x, y)' -- that's back in > the very, very old days before strings themselves had all the nice methods. > > Do, 'client.replace("_", " ")' instead. > > Second, you're forgetting a cardinal rule. Always, always, always, > include the actual tracebacks when reporting errors. Don't summarize them. > > Third, I *think* the problem is-- though I may be wrong here, because > again, just woke up-- that you're not passing the options as a tuple. > > Consider: ("hello") is not a tuple with one item. This is a slight > 'wart' with Python syntax. Parens do not make tuples: *commas* do. > Therefore, every tuple *must* have a comma. To make a one-item tuple, > you must do ("hello", ) > Well making the changes you suggest throws this error: A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. /var/www/html/globalsolutionsgroup.vi/mailSpreadsheet.py 67 </body> 68 </html>''' 69 70 mailSpreadsheet() 71 mailSpreadsheet = <function mailSpreadsheet> /var/www/html/globalsolutionsgroup.vi/mailSpreadsheet.py in mailSpreadsheet() 34 subject = 'Order From Client' 35 cursor.execute('select clientEmail from clients where client="%s"', (client.replace('_', ' '),)) 36 clientEmail = cursor.fetchone()[0] 37 cursor.execute('select * from %s', (client,)) 38 data = cursor.fetchall() clientEmail = 'jp...@lpc.com', cursor = <MySQLdb.cursors.Cursor object>, cursor.fetchone = <bound method Cursor.fetchone of <MySQLdb.cursors.Cursor object>> TypeError: unsubscriptable object args = ('unsubscriptable object',) Please advise. TIA, beno
-- http://mail.python.org/mailman/listinfo/python-list