Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #12275 > unrolled thread
| Started by | Ric@rdo |
|---|---|
| First post | 2011-08-27 13:03 -0400 |
| Last post | 2011-08-27 16:31 -0700 |
| Articles | 11 — 4 participants |
Back to article view | Back to comp.lang.python
Arrange files according to a text file Ric@rdo - 2011-08-27 13:03 -0400
Re: Arrange files according to a text file MRAB <python@mrabarnett.plus.com> - 2011-08-27 18:22 +0100
Re: Arrange files according to a text file Emile van Sebille <emile@fenx.com> - 2011-08-27 11:06 -0700
Re: Arrange files according to a text file Ric@rdo - 2011-08-27 16:15 -0400
Re: Arrange files according to a text file Emile van Sebille <emile@fenx.com> - 2011-08-27 14:08 -0700
Re: Arrange files according to a text file Ric@rdo - 2011-08-27 19:18 -0400
Re: Arrange files according to a text file MRAB <python@mrabarnett.plus.com> - 2011-08-28 00:48 +0100
Re: Arrange files according to a text file Ric@rdo - 2011-08-27 20:21 -0400
Re: Arrange files according to a text file Emile van Sebille <emile@fenx.com> - 2011-08-27 18:10 -0700
Re: Arrange files according to a text file Ric@rdo - 2011-08-28 01:24 -0400
Re: Arrange files according to a text file Stephen Hansen <me+list/python@ixokai.io> - 2011-08-27 16:31 -0700
| From | Ric@rdo |
|---|---|
| Date | 2011-08-27 13:03 -0400 |
| Subject | Arrange files according to a text file |
| Message-ID | <6j8i57t6cgqunn3c1ci4p7u9mnpnvsrl8s@4ax.com> |
Hello, What would be the best way to accomplish this task? I have many files in separate directories, each file name contain a persons name but never in the same spot. I need to find that name which is listed in a large text file in the following format. Last name, comma and First name. The last name could be duplicate. Adler, Jack Smith, John Smith, Sally Stone, Mark etc. The file names don't necessary follow any standard format. Smith, John - 02-15-75 - business files.doc Random Data - Adler Jack - expenses.xls More Data Mark Stone files list.doc etc I need some way to pull the name from the file name, find it in the text list and then create a directory based on the name on the list "Smith, John" and move all files named with the clients name into that directory.
[toc] | [next] | [standalone]
| From | MRAB <python@mrabarnett.plus.com> |
|---|---|
| Date | 2011-08-27 18:22 +0100 |
| Message-ID | <mailman.467.1314465840.27778.python-list@python.org> |
| In reply to | #12275 |
On 27/08/2011 18:03, Ric@rdo.python.org wrote: > Hello, > > What would be the best way to accomplish this task? > I have many files in separate directories, each file name > contain a persons name but never in the same spot. > I need to find that name which is listed in a large > text file in the following format. Last name, comma > and First name. The last name could be duplicate. > > Adler, Jack > Smith, John > Smith, Sally > Stone, Mark > etc. > > > The file names don't necessary follow any standard > format. > > Smith, John - 02-15-75 - business files.doc > Random Data - Adler Jack - expenses.xls > More Data Mark Stone files list.doc > etc > > I need some way to pull the name from the file name, find it in the > text list and then create a directory based on the name on the list > "Smith, John" and move all files named with the clients name into that > directory. I would get a name from the text file, eg. "Adler, Jack", and then identify all the files which contain "Adler, Jack" or "Adler Jack" or "Jack Adler" in the filename, also checking the surrounding characters to ensure that I don't split a name, eg. that "John" isn't part of "Johnson".
[toc] | [prev] | [next] | [standalone]
| From | Emile van Sebille <emile@fenx.com> |
|---|---|
| Date | 2011-08-27 11:06 -0700 |
| Message-ID | <mailman.473.1314468400.27778.python-list@python.org> |
| In reply to | #12275 |
On 8/27/2011 10:03 AM Ric@rdo.python.org said...
> Hello,
>
> What would be the best way to accomplish this task?
I'd do something like:
usernames = """Adler, Jack
Smith, John
Smith, Sally
Stone, Mark""".split('\n')
filenames = """Smith, John - 02-15-75 - business files.doc
Random Data - Adler Jack - expenses.xls
More Data Mark Stone files list.doc""".split('\n')
from difflib import SequenceMatcher as SM
def ignore(x):
return x in ' ,.'
for filename in filenames:
ratios = [SM(ignore,filename,username).ratio() for username in
usernames]
best = max(ratios)
owner = usernames[ratios.index(best)]
print filename,":",owner
Emile
> I have many files in separate directories, each file name
> contain a persons name but never in the same spot.
> I need to find that name which is listed in a large
> text file in the following format. Last name, comma
> and First name. The last name could be duplicate.
>
> Adler, Jack
> Smith, John
> Smith, Sally
> Stone, Mark
> etc.
>
>
> The file names don't necessary follow any standard
> format.
>
> Smith, John - 02-15-75 - business files.doc
> Random Data - Adler Jack - expenses.xls
> More Data Mark Stone files list.doc
> etc
>
> I need some way to pull the name from the file name, find it in the
> text list and then create a directory based on the name on the list
> "Smith, John" and move all files named with the clients name into that
> directory.
[toc] | [prev] | [next] | [standalone]
| From | Ric@rdo |
|---|---|
| Date | 2011-08-27 16:15 -0400 |
| Message-ID | <opji57tr5n326aisk6uv373h4v09rtq876@4ax.com> |
| In reply to | #12286 |
Hello Emile ,
Thank you for the code below as I have not encountered SequenceMatcher
before and would have to take a look at it closer.
My question would it work for a text file list of names about 25k
lines and a directory with say 100 files inside?
Thank you once again.
On Sat, 27 Aug 2011 11:06:22 -0700, Emile van Sebille <emile@fenx.com>
wrote:
>On 8/27/2011 10:03 AM Ric@rdo.python.org said...
>> Hello,
>>
>> What would be the best way to accomplish this task?
>
>I'd do something like:
>
>
>usernames = """Adler, Jack
>Smith, John
>Smith, Sally
>Stone, Mark""".split('\n')
>
>filenames = """Smith, John - 02-15-75 - business files.doc
>Random Data - Adler Jack - expenses.xls
>More Data Mark Stone files list.doc""".split('\n')
>
>from difflib import SequenceMatcher as SM
>
>
>def ignore(x):
> return x in ' ,.'
>
>
>for filename in filenames:
> ratios = [SM(ignore,filename,username).ratio() for username in
>usernames]
> best = max(ratios)
> owner = usernames[ratios.index(best)]
> print filename,":",owner
>
>
>Emile
>
>
>
>> I have many files in separate directories, each file name
>> contain a persons name but never in the same spot.
>> I need to find that name which is listed in a large
>> text file in the following format. Last name, comma
>> and First name. The last name could be duplicate.
>>
>> Adler, Jack
>> Smith, John
>> Smith, Sally
>> Stone, Mark
>> etc.
>>
>>
>> The file names don't necessary follow any standard
>> format.
>>
>> Smith, John - 02-15-75 - business files.doc
>> Random Data - Adler Jack - expenses.xls
>> More Data Mark Stone files list.doc
>> etc
>>
>> I need some way to pull the name from the file name, find it in the
>> text list and then create a directory based on the name on the list
>> "Smith, John" and move all files named with the clients name into that
>> directory.
>
[toc] | [prev] | [next] | [standalone]
| From | Emile van Sebille <emile@fenx.com> |
|---|---|
| Date | 2011-08-27 14:08 -0700 |
| Message-ID | <mailman.486.1314479310.27778.python-list@python.org> |
| In reply to | #12294 |
On 8/27/2011 1:15 PM Ric@rdo.python.org said...
>
> Hello Emile ,
>
> Thank you for the code below as I have not encountered SequenceMatcher
> before and would have to take a look at it closer.
>
> My question would it work for a text file list of names about 25k
> lines and a directory with say 100 files inside?
Sure.
Emile
>
> Thank you once again.
>
>
> On Sat, 27 Aug 2011 11:06:22 -0700, Emile van Sebille<emile@fenx.com>
> wrote:
>
>> On 8/27/2011 10:03 AM Ric@rdo.python.org said...
>>> Hello,
>>>
>>> What would be the best way to accomplish this task?
>>
>> I'd do something like:
>>
>>
>> usernames = """Adler, Jack
>> Smith, John
>> Smith, Sally
>> Stone, Mark""".split('\n')
>>
>> filenames = """Smith, John - 02-15-75 - business files.doc
>> Random Data - Adler Jack - expenses.xls
>> More Data Mark Stone files list.doc""".split('\n')
>>
>>from difflib import SequenceMatcher as SM
>>
>>
>> def ignore(x):
>> return x in ' ,.'
>>
>>
>> for filename in filenames:
>> ratios = [SM(ignore,filename,username).ratio() for username in
>> usernames]
>> best = max(ratios)
>> owner = usernames[ratios.index(best)]
>> print filename,":",owner
>>
>>
>> Emile
>>
>>
>>
>>> I have many files in separate directories, each file name
>>> contain a persons name but never in the same spot.
>>> I need to find that name which is listed in a large
>>> text file in the following format. Last name, comma
>>> and First name. The last name could be duplicate.
>>>
>>> Adler, Jack
>>> Smith, John
>>> Smith, Sally
>>> Stone, Mark
>>> etc.
>>>
>>>
>>> The file names don't necessary follow any standard
>>> format.
>>>
>>> Smith, John - 02-15-75 - business files.doc
>>> Random Data - Adler Jack - expenses.xls
>>> More Data Mark Stone files list.doc
>>> etc
>>>
>>> I need some way to pull the name from the file name, find it in the
>>> text list and then create a directory based on the name on the list
>>> "Smith, John" and move all files named with the clients name into that
>>> directory.
>>
[toc] | [prev] | [next] | [standalone]
| From | Ric@rdo |
|---|---|
| Date | 2011-08-27 19:18 -0400 |
| Message-ID | <o8ti57lf00gv696jg9p3ev8pc801rcdv0a@4ax.com> |
| In reply to | #12303 |
Thank you so much. The code worked perfectly.
This is what I tried using Emile code. The only time when it picked
wrong name from the list was when the file was named like this.
Data Mark Stone.doc
How can I fix this? Hope I am not asking too much?
import os
from difflib import SequenceMatcher as SM
path = r'D:\Files '
txt_names = []
with open(r'D:/python/log1.txt') as f:
for txt_name in f.readlines():
txt_names.append(txt_name.strip())
def ignore(x):
return x in ' ,.'
for filename in os.listdir(path):
ratios = [SM(ignore,filename,txt_name).ratio() for txt_name in
txt_names]
best = max(ratios)
owner = txt_names[ratios.index(best)]
print filename,":",owner
On Sat, 27 Aug 2011 14:08:17 -0700, Emile van Sebille <emile@fenx.com>
wrote:
>On 8/27/2011 1:15 PM Ric@rdo.python.org said...
>>
>> Hello Emile ,
>>
>> Thank you for the code below as I have not encountered SequenceMatcher
>> before and would have to take a look at it closer.
>>
>> My question would it work for a text file list of names about 25k
>> lines and a directory with say 100 files inside?
>
>Sure.
>
>Emile
>
>
>>
>> Thank you once again.
>>
>>
>> On Sat, 27 Aug 2011 11:06:22 -0700, Emile van Sebille<emile@fenx.com>
>> wrote:
>>
>>> On 8/27/2011 10:03 AM Ric@rdo.python.org said...
>>>> Hello,
>>>>
>>>> What would be the best way to accomplish this task?
>>>
>>> I'd do something like:
>>>
>>>
>>> usernames = """Adler, Jack
>>> Smith, John
>>> Smith, Sally
>>> Stone, Mark""".split('\n')
>>>
>>> filenames = """Smith, John - 02-15-75 - business files.doc
>>> Random Data - Adler Jack - expenses.xls
>>> More Data Mark Stone files list.doc""".split('\n')
>>>
>>>from difflib import SequenceMatcher as SM
>>>
>>>
>>> def ignore(x):
>>> return x in ' ,.'
>>>
>>>
>>> for filename in filenames:
>>> ratios = [SM(ignore,filename,username).ratio() for username in
>>> usernames]
>>> best = max(ratios)
>>> owner = usernames[ratios.index(best)]
>>> print filename,":",owner
>>>
>>>
>>> Emile
>>>
>>>
>>>
>>>> I have many files in separate directories, each file name
>>>> contain a persons name but never in the same spot.
>>>> I need to find that name which is listed in a large
>>>> text file in the following format. Last name, comma
>>>> and First name. The last name could be duplicate.
>>>>
>>>> Adler, Jack
>>>> Smith, John
>>>> Smith, Sally
>>>> Stone, Mark
>>>> etc.
>>>>
>>>>
>>>> The file names don't necessary follow any standard
>>>> format.
>>>>
>>>> Smith, John - 02-15-75 - business files.doc
>>>> Random Data - Adler Jack - expenses.xls
>>>> More Data Mark Stone files list.doc
>>>> etc
>>>>
>>>> I need some way to pull the name from the file name, find it in the
>>>> text list and then create a directory based on the name on the list
>>>> "Smith, John" and move all files named with the clients name into that
>>>> directory.
>>>
>
[toc] | [prev] | [next] | [standalone]
| From | MRAB <python@mrabarnett.plus.com> |
|---|---|
| Date | 2011-08-28 00:48 +0100 |
| Message-ID | <mailman.495.1314488964.27778.python-list@python.org> |
| In reply to | #12316 |
On 28/08/2011 00:18, Ric@rdo.python.org wrote:
> Thank you so much. The code worked perfectly.
>
> This is what I tried using Emile code. The only time when it picked
> wrong name from the list was when the file was named like this.
>
> Data Mark Stone.doc
>
> How can I fix this? Hope I am not asking too much?
>
Have you tried the alternative word orders, "Mark Stone" as well as
"Stone, Mark", picking whichever name has the best ratio for either?
>
> import os
> from difflib import SequenceMatcher as SM
>
> path = r'D:\Files '
> txt_names = []
>
>
> with open(r'D:/python/log1.txt') as f:
> for txt_name in f.readlines():
> txt_names.append(txt_name.strip())
>
> def ignore(x):
> return x in ' ,.'
>
> for filename in os.listdir(path):
> ratios = [SM(ignore,filename,txt_name).ratio() for txt_name in
> txt_names]
> best = max(ratios)
> owner = txt_names[ratios.index(best)]
> print filename,":",owner
>
>
>
>
>
> On Sat, 27 Aug 2011 14:08:17 -0700, Emile van Sebille<emile@fenx.com>
> wrote:
>
>> On 8/27/2011 1:15 PM Ric@rdo.python.org said...
>>>
>>> Hello Emile ,
>>>
>>> Thank you for the code below as I have not encountered SequenceMatcher
>>> before and would have to take a look at it closer.
>>>
>>> My question would it work for a text file list of names about 25k
>>> lines and a directory with say 100 files inside?
>>
>> Sure.
>>
>> Emile
>>
>>
>>>
>>> Thank you once again.
>>>
>>>
>>> On Sat, 27 Aug 2011 11:06:22 -0700, Emile van Sebille<emile@fenx.com>
>>> wrote:
>>>
>>>> On 8/27/2011 10:03 AM Ric@rdo.python.org said...
>>>>> Hello,
>>>>>
>>>>> What would be the best way to accomplish this task?
>>>>
>>>> I'd do something like:
>>>>
>>>>
>>>> usernames = """Adler, Jack
>>>> Smith, John
>>>> Smith, Sally
>>>> Stone, Mark""".split('\n')
>>>>
>>>> filenames = """Smith, John - 02-15-75 - business files.doc
>>>> Random Data - Adler Jack - expenses.xls
>>>> More Data Mark Stone files list.doc""".split('\n')
>>>>
>>> >from difflib import SequenceMatcher as SM
>>>>
>>>>
>>>> def ignore(x):
>>>> return x in ' ,.'
>>>>
>>>>
>>>> for filename in filenames:
>>>> ratios = [SM(ignore,filename,username).ratio() for username in
>>>> usernames]
>>>> best = max(ratios)
>>>> owner = usernames[ratios.index(best)]
>>>> print filename,":",owner
>>>>
>>>>
>>>> Emile
>>>>
>>>>
>>>>
>>>>> I have many files in separate directories, each file name
>>>>> contain a persons name but never in the same spot.
>>>>> I need to find that name which is listed in a large
>>>>> text file in the following format. Last name, comma
>>>>> and First name. The last name could be duplicate.
>>>>>
>>>>> Adler, Jack
>>>>> Smith, John
>>>>> Smith, Sally
>>>>> Stone, Mark
>>>>> etc.
>>>>>
>>>>>
>>>>> The file names don't necessary follow any standard
>>>>> format.
>>>>>
>>>>> Smith, John - 02-15-75 - business files.doc
>>>>> Random Data - Adler Jack - expenses.xls
>>>>> More Data Mark Stone files list.doc
>>>>> etc
>>>>>
>>>>> I need some way to pull the name from the file name, find it in the
>>>>> text list and then create a directory based on the name on the list
>>>>> "Smith, John" and move all files named with the clients name into that
>>>>> directory.
>>>>
>>
[toc] | [prev] | [next] | [standalone]
| From | Ric@rdo |
|---|---|
| Date | 2011-08-27 20:21 -0400 |
| Message-ID | <m42j57hmr0t4kg3uv4mccr4gkkl7te2ubf@4ax.com> |
| In reply to | #12320 |
On Sun, 28 Aug 2011 00:48:20 +0100, MRAB <python@mrabarnett.plus.com>
wrote:
>On 28/08/2011 00:18, Ric@rdo.python.org wrote:
>> Thank you so much. The code worked perfectly.
>>
>> This is what I tried using Emile code. The only time when it picked
>> wrong name from the list was when the file was named like this.
>>
>> Data Mark Stone.doc
>>
>> How can I fix this? Hope I am not asking too much?
>>
>Have you tried the alternative word orders, "Mark Stone" as well as
>"Stone, Mark", picking whichever name has the best ratio for either?
>>
Yes I tried and the result was the same. I will try to work out
something. thank you.
>> import os
>> from difflib import SequenceMatcher as SM
>>
>> path = r'D:\Files '
>> txt_names = []
>>
>>
>> with open(r'D:/python/log1.txt') as f:
>> for txt_name in f.readlines():
>> txt_names.append(txt_name.strip())
>>
>> def ignore(x):
>> return x in ' ,.'
>>
>> for filename in os.listdir(path):
>> ratios = [SM(ignore,filename,txt_name).ratio() for txt_name in
>> txt_names]
>> best = max(ratios)
>> owner = txt_names[ratios.index(best)]
>> print filename,":",owner
>>
>>
>>
>>
>>
>> On Sat, 27 Aug 2011 14:08:17 -0700, Emile van Sebille<emile@fenx.com>
>> wrote:
>>
>>> On 8/27/2011 1:15 PM Ric@rdo.python.org said...
>>>>
>>>> Hello Emile ,
>>>>
>>>> Thank you for the code below as I have not encountered SequenceMatcher
>>>> before and would have to take a look at it closer.
>>>>
>>>> My question would it work for a text file list of names about 25k
>>>> lines and a directory with say 100 files inside?
>>>
>>> Sure.
>>>
>>> Emile
>>>
>>>
>>>>
>>>> Thank you once again.
>>>>
>>>>
>>>> On Sat, 27 Aug 2011 11:06:22 -0700, Emile van Sebille<emile@fenx.com>
>>>> wrote:
>>>>
>>>>> On 8/27/2011 10:03 AM Ric@rdo.python.org said...
>>>>>> Hello,
>>>>>>
>>>>>> What would be the best way to accomplish this task?
>>>>>
>>>>> I'd do something like:
>>>>>
>>>>>
>>>>> usernames = """Adler, Jack
>>>>> Smith, John
>>>>> Smith, Sally
>>>>> Stone, Mark""".split('\n')
>>>>>
>>>>> filenames = """Smith, John - 02-15-75 - business files.doc
>>>>> Random Data - Adler Jack - expenses.xls
>>>>> More Data Mark Stone files list.doc""".split('\n')
>>>>>
>>>> >from difflib import SequenceMatcher as SM
>>>>>
>>>>>
>>>>> def ignore(x):
>>>>> return x in ' ,.'
>>>>>
>>>>>
>>>>> for filename in filenames:
>>>>> ratios = [SM(ignore,filename,username).ratio() for username in
>>>>> usernames]
>>>>> best = max(ratios)
>>>>> owner = usernames[ratios.index(best)]
>>>>> print filename,":",owner
>>>>>
>>>>>
>>>>> Emile
>>>>>
>>>>>
>>>>>
>>>>>> I have many files in separate directories, each file name
>>>>>> contain a persons name but never in the same spot.
>>>>>> I need to find that name which is listed in a large
>>>>>> text file in the following format. Last name, comma
>>>>>> and First name. The last name could be duplicate.
>>>>>>
>>>>>> Adler, Jack
>>>>>> Smith, John
>>>>>> Smith, Sally
>>>>>> Stone, Mark
>>>>>> etc.
>>>>>>
>>>>>>
>>>>>> The file names don't necessary follow any standard
>>>>>> format.
>>>>>>
>>>>>> Smith, John - 02-15-75 - business files.doc
>>>>>> Random Data - Adler Jack - expenses.xls
>>>>>> More Data Mark Stone files list.doc
>>>>>> etc
>>>>>>
>>>>>> I need some way to pull the name from the file name, find it in the
>>>>>> text list and then create a directory based on the name on the list
>>>>>> "Smith, John" and move all files named with the clients name into that
>>>>>> directory.
>>>>>
>>>
[toc] | [prev] | [next] | [standalone]
| From | Emile van Sebille <emile@fenx.com> |
|---|---|
| Date | 2011-08-27 18:10 -0700 |
| Message-ID | <mailman.497.1314493823.27778.python-list@python.org> |
| In reply to | #12316 |
On 8/27/2011 4:18 PM Ric@rdo.python.org said...
> Thank you so much. The code worked perfectly.
>
> This is what I tried using Emile code. The only time when it picked
> wrong name from the list was when the file was named like this.
>
> Data Mark Stone.doc
>
> How can I fix this? Hope I am not asking too much?
What name did it pick? I imagine if you're picking a name from a list
of 25000 names that some subset of combinations may yield like ratios.
But, if you double up on the file name side you may get closer:
for filename in filenames:
ratios = [SM(ignore,filename+filename,username).ratio() for
username in usernames]
best = max(ratios)
owner = usernames[ratios.index(best)]
print filename,":",owner
... on the other hand, if you've only got a 100 files to sort out, you
should already be done.
:)
Emile
[toc] | [prev] | [next] | [standalone]
| From | Ric@rdo |
|---|---|
| Date | 2011-08-28 01:24 -0400 |
| Message-ID | <v4kj57hvv5v1ueevj043pso14p035bce3o@4ax.com> |
| In reply to | #12324 |
No, it turned out to be my mistake. Your code was correct and I appreciate it very much. Thank you again On Sat, 27 Aug 2011 18:10:07 -0700, Emile van Sebille <emile@fenx.com> wrote: >On 8/27/2011 4:18 PM Ric@rdo.python.org said... >> Thank you so much. The code worked perfectly. >> >> This is what I tried using Emile code. The only time when it picked >> wrong name from the list was when the file was named like this. >> >> Data Mark Stone.doc >> >> How can I fix this? Hope I am not asking too much? > >What name did it pick? I imagine if you're picking a name from a list >of 25000 names that some subset of combinations may yield like ratios. > >But, if you double up on the file name side you may get closer: > >for filename in filenames: > ratios = [SM(ignore,filename+filename,username).ratio() for >username in usernames] > best = max(ratios) > owner = usernames[ratios.index(best)] > print filename,":",owner > >... on the other hand, if you've only got a 100 files to sort out, you >should already be done. > >:) > >Emile
[toc] | [prev] | [next] | [standalone]
| From | Stephen Hansen <me+list/python@ixokai.io> |
|---|---|
| Date | 2011-08-27 16:31 -0700 |
| Message-ID | <mailman.493.1314487883.27778.python-list@python.org> |
| In reply to | #12275 |
[Multipart message — attachments visible in raw view] — view raw
On 8/27/11 11:06 AM, Emile van Sebille wrote: > from difflib import SequenceMatcher as SM > > def ignore(x): > return x in ' ,.' > > for filename in filenames: > ratios = [SM(ignore,filename,username).ratio() for username in > usernames] > best = max(ratios) > owner = usernames[ratios.index(best)] > print filename,":",owner It amazes me that I can still find a surprising new tool in the stdlib after all these years. Neat. /pinboards -- Stephen Hansen ... Also: Ixokai ... Mail: me+list/python (AT) ixokai (DOT) io ... Blog: http://meh.ixokai.io/
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web