re.match oddity
Issac
issac at myfirstlink.net
Wed Dec 26 17:03:25 EST 2001
A curious thing is happening in my c2py.py script (below).
The resulting files contain little ^M's (when viewed with the Windows
version of gvim 6.0 but not when viewed with notepad.exe) at the ends
of the lines. When I remove the lines
line_is_lone_left_curly = re.match(r'^\s*{\s*((//.*)|(/\*.*\*/))?$', line)
if line_is_lone_left_curly:
pylines[-1] = pylines[-1][:-1] + ':\n'
continue
the ^M's go away. Does anyone know why? I'm using Python 2.1.1
on Cygwin with Windows 2000.
Issac
=== %< ===
#!/usr/bin/env python
# c2py.py : partial conversion from C to Python
import re, sys
def c2py(pyfile, cfile):
clines = cfile.readlines()
pylines = []
for line in clines:
# semicolons
line = re.sub(r';', '', line)
# curly braces
line_is_lone_left_curly = re.match(r'^\s*{\s*((//.*)|(/\*.*\*/))?$', line)
if line_is_lone_left_curly:
pylines[-1] = pylines[-1][:-1] + ':\n'
continue
line = re.sub(r'{', ':', line)
line = re.sub(r'}', '', line)
# comments
line = re.sub(r'//', '#', line)
line_is_blank = re.match(r'^\s*$', line)
if not line_is_blank:
pylines.append(line)
for line in pylines:
pyfile.write(line)
for cname in sys.argv[1:]:
pyname = re.sub(r'\..*$', '.py', cname)
print 'generating '+pyname+' from '+cname
cfile = open(cname, 'r')
pyfile = open(pyname, 'w')
c2py(pyfile, cfile)
cfile.close()
pyfile.close()
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.310 / Virus Database: 171 - Release Date: 12/19/2001
More information about the Python-list
mailing list