Can't Write File
victorsubervi at gmail.com
Wed Nov 11 18:30:04 CET 2009
On Wed, Nov 11, 2009 at 11:58 AM, Carsten Haese <carsten.haese at gmail.com>wrote:
> Victor Subervi wrote:
> > Here's
> > a bigger code snippet with the entire try clause:
> > if 14 < x < 20: # This just shows that it's a pic, not some
> > other type of data
> > y += 1
> > w += 1
> > try: # It does this, because I've printed 'getpic1.py' etc.
> > getpic = "getpic" + str(w) + ".py"
> > try:
> > os.remove(getpic)
> > except:
> > pass
> > code = """#! /usr/bin/python
> > import cgitb; cgitb.enable()
> > import MySQLdb
> > import cgi
> > import sys,os
> > sys.path.append(os.getcwd())
> > from login import login
> > def pic():
> > user, passwd, db, host = login()
> > form = cgi.FieldStorage()
> > db = MySQLdb.connect(host, user, passwd, db)
> > cursor= db.cursor()
> > sql = "select pic%s from products where ID=%s;"
> > cursor.execute(sql)
> > content = cursor.fetchone()
> > cursor.close()
> > print content
> > print 'Content-type: image/jpeg'
> > print
> > pic()""" % (str(w), str(i))
> > script = open(getpic, "w") # I've deleted everything below
> > this line to the except to test
> > script.write(code)
> > print '<td><input type="hidden" name="%s" />\n' % str(x)
> > os.chmod(getpic, 0755)
> > print '<img src="%s" width="100"><br /><br /></td>\n' %
> > (getpic)
> > count2 += 1
> > except:
> > print '<td>nope</td>'
> > else:
> > print '<td>%s</td>\n' % (field)
> > x += 1
> If I'm understanding correctly what you're doing here, you're generating
> an HTML page with image tags, and at the same time you're generating the
> scripts whose purpose it is to serve the corresponding images' data.
> This is a terrible approach for the following reason: If two different
> users request this page for two different product IDs at roughly the
> same time, the getpic scripts for the first user will be overwritten by
> the getpic scripts for the second user before the first user's browser
> had a chance to issue its requests for the results for his getpic scripts.
> Rather than auto-generating on-the-fly variants of the getpic scripts
> that only differ in the picture number and product ID, you should have
> just one static getpic script that takes parameters from the URL that
> tell it which image number and product ID to use.
I will do that after I fix the problem
> This will fix your problem indirectly because then your script won't
> have to write out any files at all.
No files are being written at all! No, this doesn't fix the problem! Please
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list