1

I have some trouble with my code. In "line1 and line2" before the text in file have some spaces, how i can ignore them?

Ex.:

<server xmlns="urn:jboss:domain:1.2">
         </handlers>
        </root-logger>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:naming:1.1">
    <bindings>

And these spaces interfere with code to find line1 and line2.

Below is my code

with open("xxx", "r+") as f:
a = [x.rstrip() for x in f]
index = 1
line1 = '<subsystem xmlns="urn:jboss:domain:naming:1.1">'
line2 = "<bindings>"
for item in a:
    if item.startswith(line1 and line2):
        a.insert(index, '<simple name="java:global/nbs/app/portal/config/routes"\n\tvalue="C:\\nbs\\app\\portal\\routes.properties"/>')
        break
    index += 1
f.seek(0)
for line in a:
    f.write(line + "\n")
2

2 Answers 2

1

The lstrip() method will remove leading whitespaces, newline and tab characters on a string beginning:

>>> '     hello world!'.lstrip()
'hello world!

Reference: How do I remove leading whitespace in Python?

Sign up to request clarification or add additional context in comments.

1 Comment

No, i need ignore spaces not in my script, i need ignore spaces in file. When i delete spaces, the script is working fine, but if i don't delete them, the script does not find these lines.
0

Change this

a = [x.rstrip() for x in f]

into this

a = [x.strip() for x in f]

Explnation: rstrip() only trims the whitespaces on the right side, what you need is strip() method which strips whitespaces on both sides.

2 Comments

ahahhah, he delete all spaces in file) i needn't do it.
Can are u help me please?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.