str.find for multiple strings

Josef Meile jmeile at hotmail.com
Thu Feb 12 11:18:13 EST 2004


Hi,

looking at your code is obvious that what you want to do
is to look for servers on the "ath_ips.txt" file and then
comment the line where they appear. I think this search
and replace function can be done with regular expressions
(see the re module). The servers belong to the same
network, and only the two left digits are different.

Regards,
Josef


"Bart Nessux" <bart_nessux at hotmail.com> wrote in message
news:c0e0u6$p8g$1 at solaris.cc.vt.edu...
> Peter Hansen wrote:
> > Bart Nessux wrote:
> >
> >>x = str.find(temp, '120.50')
> >>
> >>I am looking for '120.50' '120.51' '122.78' etc. How can I do this with
> >>just one str.find... I can use re if I must, but I'd like to avoid it if
> >>possible.
> >
> >
> > In addition to Fecundo's questions, here's another.  What does "temp"
> > contain?  A single temperature string, or a temperature embedded in
> > a bunch of other stuff, or a whole series of temperatures, or what?
> >
> > -Peter
>
> Here's what I'm doing
>
> def exclude():
>     import os
>     os.chdir('/home/rbt/scripts')
>     inputFile = file('ath_ips.txt', 'r')
>     data = inputFile.read()
>     inputFile.close()
>     comment = '#'
>     net0 = '128.173.120.'
>     net1 = '128.173.122.'
>     host0 = ['50','51','52','53','54','55']
>     host1 = ['17','25','49','50','55','58','70']
>     for h0 in host0:
>        h0 = net0+h0
>        rep0 = comment+h0
>        sea0 = str.find(data, h0)
>        if sea0 >=0:
>           data = data.replace(h0, rep0)
>     for h1 in host1:
>        h1 = net1+h1
>        rep1 = comment+h1
>        sea1 = str.find(data, h1)
>        if sea1 >=0:
>           data = data.replace(h1, rep1)
>     outputFile = file('ath_ips.txt', 'w')
>     outputFile.write(data)
>     outputFile.close()





More information about the Python-list mailing list