Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #40531

Re: Downloading a file form a displayed table

Newsgroups comp.lang.python
Date 2013-03-05 06:37 -0800
References <f99ae3d5-6f1f-4dfc-84da-78b758a5147a@googlegroups.com> <ebde8f97-46c4-49c6-a0e1-7056455352d7@googlegroups.com> <mailman.2884.1362490737.2939.python-list@python.org>
Subject Re: Downloading a file form a displayed table
From Νίκος Γκρ33κ <nikos.gr33k@gmail.com>
Message-ID <mailman.2886.1362494274.2939.python-list@python.org> (permalink)

Show all headers | View raw


Τη Τρίτη, 5 Μαρτίου 2013 3:38:49 μ.μ. UTC+2, ο χρήστης Vytas D. έγραψε:
> Hi,
> 
> It is really complicated to reproduce the errors you get by running your code since it involves database queries.
> 
> Though one thing that really needs your attention is how you handle the results from os.walk(path).
> 
> 
> Dave Angel told you already that: "But os.walk() doesn't return a filename. It returns a tuple.".
> 
> 
> 
> To show where you are wrong I have create the directory structure:
> 
> Folder "folder1" that has files "file4.txt" and "file3.txt" inside.
> 
> 
> 
> 
> In Python 2.6.5:
> >>> import os
> >>> for filename in os.walk('folder1'):
> ...  print(filename)
> ... 
> ('folder1', [], ['file4.txt', 'file3.txt'])
> 
> >>> 
> 
> 
> So your code is treating results from os.walk() incorrectly. You get tuple, so extract data you need from it first. In case you don't know how:
> 
> 
> Print files only (no directories. Adapt code to your needs):
> 
> >>> for result in os.walk('folder1'):
> ...    for filename in result[2]:
> ...      print(filename)
> ... 
> file4.txt
> file3.txt
> 
> 
> 
> In http://docs.python.org/2/library/os.html you will find:
> 
> os.walk(top, topdown=True, onerror=None, followlinks=False)
> Generate the file names in a directory tree by walking the tree either top-down or bottom-up. For each directory in the tree rooted at directory top (including top itself), it yields a 3-tuple (dirpath, dirnames, filenames).
> 
> ...
> 
> 
> 
> Vytas
> 
> 
> 
> 
> On Tue, Mar 5, 2013 at 1:01 PM, Νίκος Γκρ33κ <nikos...@gmail.com> wrote:
> 
> Please help me correct thois code, iam tryign ti for hours and i cant seem to get it working....it irritates me....
> 
> 
> 
> 
> path = "/home/nikos/public_html/data/files/"
> 
> for filename in os.walk(path):
> 
>         try:
> 
>                 #find the needed counter for the page URL
> 
>                 cur.execute('''SELECT ID FROM files WHERE URL = %s''', (filename,) )
> 
>                 data = cur.fetchone()        #URL is unique, so should only be one
> 
> 
> 
>                 if not data:
> 
>                         #first time for page; primary key is automatic, hit is defaulted
> 
>                         cur.execute('''INSERT INTO files (URL, lastvisit) VALUES (%s, %s)''', (filename, date) )
> 
>                         cID = cur.lastrowid        #get the primary key value of the new record
> 
>                 else:
> 
>                         #found the page, save primary key and use it to issue hit UPDATE
> 
>                         cID = data[0]
> 
>                         cur.execute('''UPDATE files SET hits = hits + 1, lastvisit = %s WHERE ID = %s''', (date, cID)
> 
>         except MySQLdb.Error, e:
> 
>                 print ( "Query Error: ", sys.exc_info()[1].excepinfo()[2] )
> 
> --
> 
> http://mail.python.org/mailman/listinfo/python-list

Yes indeed! the problem was at the way os.walk resulted the data.

one would think that os.walk would return the actual filenames ina  tuple but it also returned coupel things more before the file themselevrs.

thank you a lot for poitning this out to me.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Downloading a file form a displayed table Νίκος Γκρ33κ <nikos.gr33k@gmail.com> - 2013-03-05 01:00 -0800
  Re: Downloading a file form a displayed table Dave Angel <davea@davea.name> - 2013-03-05 04:45 -0500
    Re: Downloading a file form a displayed table Νίκος Γκρ33κ <nikos.gr33k@gmail.com> - 2013-03-05 01:48 -0800
      Re: Downloading a file form a displayed table Dave Angel <davea@davea.name> - 2013-03-05 05:05 -0500
    Re: Downloading a file form a displayed table Νίκος Γκρ33κ <nikos.gr33k@gmail.com> - 2013-03-05 01:48 -0800
  Re: Downloading a file form a displayed table Dave Angel <davea@davea.name> - 2013-03-05 04:51 -0500
    Re: Downloading a file form a displayed table Νίκος Γκρ33κ <nikos.gr33k@gmail.com> - 2013-03-05 02:24 -0800
      Re: Downloading a file form a displayed table Lele Gaifax <lele@metapensiero.it> - 2013-03-05 12:29 +0100
    Re: Downloading a file form a displayed table Νίκος Γκρ33κ <nikos.gr33k@gmail.com> - 2013-03-05 02:24 -0800
  Re: Downloading a file form a displayed table Νίκος Γκρ33κ <nikos.gr33k@gmail.com> - 2013-03-05 05:01 -0800
    Re: Downloading a file form a displayed table Joel Goldstick <joel.goldstick@gmail.com> - 2013-03-05 08:38 -0500
    Re: Downloading a file form a displayed table "Vytas D." <vytasd2013@gmail.com> - 2013-03-05 13:38 +0000
      Re: Downloading a file form a displayed table Νίκος Γκρ33κ <nikos.gr33k@gmail.com> - 2013-03-05 06:37 -0800
      Re: Downloading a file form a displayed table Νίκος Γκρ33κ <nikos.gr33k@gmail.com> - 2013-03-05 06:37 -0800
  Re: Downloading a file form a displayed table Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-03-05 14:04 +0000

csiph-web