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. 7 4746
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
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()
Bart Nessux wrote: 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
inputFile = file('ath_ips.txt', 'r') data = inputFile.read()
[snip]
Well, since that shows nothing whatever about the content of the
"data" string (i.e. what is in that ath_ips.txt file), it doesn't
really help to answer the questions I had.
-Peter
On Wed, 11 Feb 2004 14:48:22 -0500 in comp.lang.python, Bart Nessux
<ba*********@hotmail.com> wrote: 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()
There's no need to do an explicit find() before replace(). Your 'for'
loops can be written as
for h0 in host0:
data = data.replace(net0+h0, comment+net0+h0)
for h1 in host1:
data = data.replace(net1+h1, comment+net1+h1)
Or reduce it to one 'for' loop with list_comprehensions
for host in [net0+h0 for h0 in host0] + [net1+h1 for h1 in host1]:
data = data.replace(host, comment+host)
Dave
Dave K wrote: On Wed, 11 Feb 2004 14:48:22 -0500 in comp.lang.python, Bart Nessux <ba*********@hotmail.com> wrote:
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()
There's no need to do an explicit find() before replace(). Your 'for' loops can be written as
for h0 in host0: data = data.replace(net0+h0, comment+net0+h0) for h1 in host1: data = data.replace(net1+h1, comment+net1+h1)
Or reduce it to one 'for' loop with list_comprehensions
for host in [net0+h0 for h0 in host0] + [net1+h1 for h1 in host1]: data = data.replace(host, comment+host)
Dave
Thanks Dave. That's very helpful.
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" <ba*********@hotmail.com> wrote in message
news:c0**********@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()
Peter Hansen wrote: Bart Nessux wrote: 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?
Ah, trust me to take an industrial-control point of view and not a network
software point of view. You meant "temp" to be a temporary variable, not
a temperature, and the 120.50, 120.51 stuff are partial IP addresses, not
temperatures... how curious of me to confuse them. :-)
-Peter This discussion thread is closed Replies have been disabled for this discussion. Similar topics
3 posts
views
Thread by hokiegal99 |
last post: by
|
1 post
views
Thread by Xah Lee |
last post: by
|
4 posts
views
Thread by Anthony |
last post: by
|
3 posts
views
Thread by 00_CuMPe3WaR3D12 |
last post: by
|
19 posts
views
Thread by santosh |
last post: by
|
5 posts
views
Thread by Buddhist[CHinA] |
last post: by
|
3 posts
views
Thread by computerwolf8 |
last post: by
| | | | | | | | | | | | |