Python for DevOps - Noah Gift
Python for DevOps - Noah Gift #
TOC #
Regular Expression #
import re
cc_list = '''Ezra Koenig <ekoenig@vpwk.com>,
Rostam Batmanglij <rostam@vpwk.com>,
Chris Tomson <ctomson@vpwk.
Bobbi Baio <bbaio@vpwk.com'''
r = re.search('[RB]obb[yi]', 'robbi')
print(r)
r = re.search('Chr[a-z][a-z]', cc_list)
print(r.group())
# search vs findall
r = re.search(r'[A-Za-z]+', cc_list) # returns first match
print(r.group())
r = re.findall(r'[A-Za-z]+', cc_list)
print(r)
r = re.search(r'\w+\@\w+\.\w+', cc_list)
print(r.group())
r = re.findall(r'\w+\@\w+\.\w+', cc_list)
print(r)
# groups
r = re.search(r'(\w+)\@(\w+)\.(\w+)', cc_list)
print(r.group())
print(r.group(1))
print(r.group(2))
print(r.group(3))
# named group
# ?P<NAME> in the group definition
r = re.search(r'(?P<name>\w+)\@(?P<SLD>\w+)\.(?P<TLD>\w+)', cc_list)
print(r.group('name'))
print(r.group('SLD'))
print(r.group('TLD'))
__PYTHON_EL_eval("try:\n with open('/var/folders/jc/kms8fz7j26b8jmc038dt6dcr0000gn/T/babel-Fz8tk7/python-JDGLIY') as __org_babel_python_tmpfile:\n exec(compile(__org_babel_python_tmpfile.read(), __org_babel_python_tmpfile.name, 'exec'))\nexcept:\n raise\nfinally:\n print('
re.sub for Substitution #
# unnamed group substitution
r = re.sub(r'(\w+)\@(\w+)\.(\w+)', r'\g<3>.\g<2>.\g<1>', cc_list)
print(r)
# unnamed group substitution, shortcut
r = re.sub(r'(\w+)\@(\w+)\.(\w+)', r'\3.\2.\1', cc_list)
print(r)
# named group substitution
r = re.sub(r'(?P<name>\w+)\@(?P<SLD>\w+)\.(?P<TLD>\w+)', '\g<TLD>.\g<SLD>.\g<name>', cc_list)
print(r)
__PYTHON_EL_eval("try:\n with open('/var/folders/jc/kms8fz7j26b8jmc038dt6dcr0000gn/T/babel-Fz8tk7/python-n8nnv3') as __org_babel_python_tmpfile:\n exec(compile(__org_babel_python_tmpfile.read(), __org_babel_python_tmpfile.name, 'exec'))\nexcept:\n raise\nfinally:\n print('
IPython can be used to run Shell Commands #
Operting systems use difference escaped characters for line ending. #
Problem I faced because of this Issue https://www.evernote.com/shard/s226/nl/25312899/a20973fa-42fa-4cea-a523-51b81d4dc8e4?title=command%20line%20-%20/usr/bin/env:%20%E2%80%98python3%5Cr%E2%80%99:%20No%20such%20file%20or%20directory