954,515 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Python: Parsing Text from a file and getting a SyntaxError

I am attempting to remove instances of a character from a txt file with python using the following code:

import fileinput

for line in fileinput.FileInput("test.txt",inplace=1):
        line = line.replace("^M","")
        print line


and get the following error:

File "par.py", line 6
line = line.replace("
^
SyntaxError: EOL while scanning string literal

I am new to python and need assistance. Thank you!

bellarc
Newbie Poster
2 posts since Nov 2011
Reputation Points: 10
Solved Threads: 0
 

Please use code tags. That line worked for me:

>>> line='dhghgjj^Mfjjggjgjg^M'
>>> line = line.replace("^M","")
>>> line
'dhghgjjfjjggjgjg'
>>>
pyTony
pyMod
Moderator
5,359 posts since Apr 2010
Reputation Points: 782
Solved Threads: 852
 

I appreciate the example. The issue I am running into is when I try to read the file in. I think the string literal can't handle a multiple line file, and that is causing the error. Any suggestions?

bellarc
Newbie Poster
2 posts since Nov 2011
Reputation Points: 10
Solved Threads: 0
 
File "par.py", line 6 line = line.replace(" ^

Note the mark at the beginning of the line, which usually means the problem is the previous line.

## test with this first
for line in fileinput.FileInput(files="./test.txt"):
    print line
#
## iterates over the lines of all files listed in sys.argv[1:]
for line in fileinput.input():
##
## otherwise use
for line in open("./test.txt", "r"):

print line

woooee
Nearly a Posting Maven
2,454 posts since Dec 2006
Reputation Points: 777
Solved Threads: 714
 

Dupe post...Doh.

woooee
Nearly a Posting Maven
2,454 posts since Dec 2006
Reputation Points: 777
Solved Threads: 714
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: