Один случай, который преобладает в дубликатах, - это требование использовать кавычки для внешних процессов. Обходной путь для этого состоит в том, чтобы не использовать оболочку, которая снимает требование для одного уровня цитирования.
os.system("""awk '/foo/ { print "bar" }' %""" % filename)
может быть с пользой заменен на
subprocess.call(['awk', '/foo/ { print "bar" }', filename])
(которая также исправляет ошибку, из-за которой метасимволы оболочки в filename
должны были быть экранированы из оболочки, что не удалось сделать исходному коду; но без оболочки это не нужно).
Конечно, в подавляющем большинстве случаев вам не нужен или вообще не нужен внешний процесс.
with open(filename) as fh:
for line in fh:
if 'foo' in line:
print("bar")