21 lines
340 B
Python
21 lines
340 B
Python
|
|
#!/usr/bin/env python
|
||
|
|
import re
|
||
|
|
import sys
|
||
|
|
|
||
|
|
fn = sys.argv[1]
|
||
|
|
|
||
|
|
test = open(fn, 'r').read()
|
||
|
|
|
||
|
|
pattern = re.compile('[A-Z](?=[a-z])')
|
||
|
|
|
||
|
|
def format_term(term):
|
||
|
|
return '_%s' % (term.lower())
|
||
|
|
|
||
|
|
test = pattern.sub(lambda m: format_term(m.group(0)), test)
|
||
|
|
|
||
|
|
test = re.sub(r'(?<=[^a-z])_(?=[a-z])','',test)
|
||
|
|
|
||
|
|
o = open(fn,'w')
|
||
|
|
o.write(test)
|
||
|
|
o.close()
|