import subprocess import re, string def call_subprocess(call_, message, return_output=False, encoding="UTF-8"): # With capturing of output if return_output: try: out = subprocess.check_output(call_, shell=True, encoding=encoding) except subprocess.CalledProcessError as e: print(f"{message}: {call_}") raise e return out # Without capturing of output try: subprocess.check_call(call_, shell=True) except subprocess.CalledProcessError as e: print(f"{message}: {call_}") raise e def clean_string_for_non_alphanumerics(s): pattern = re.compile("[\W'_']+") return pattern.sub("", s)