Чтобы заменить строку в нескольких файлах, вы можете использовать:
grep -rl matchstring somedir/ | xargs sed -i 's/string1/string2/g'
Например:
grep -rl 'windows' ./ | xargs sed -i 's/windows/linux/g'
Вот мое рекомендуемое решение:
#!/usr/bin/env python2.6
import os
import logging
modlog = logging.getLogger(__name__)
modlog.addHandler(logging.FileHandler(os.devnull))
# ... remaining code
В зависимости от того, насколько распределена ваша проблема, решение из Python Guide (и в конечном счете из запросов источника ) может работать: попробуйте импортировать NullHandler и в except ImportError
, определите класс следующим образом:
# Set default logging handler to avoid "No handler found" warnings.
import logging
try: # Python 2.7+
from logging import NullHandler
except ImportError:
class NullHandler(logging.Handler):
def emit(self, record):
pass
logging.getLogger(__name__).addHandler(NullHandler())
Хотя, если вы используете пространство имен журналов, вы захотите вставить класс:
# in the except clause, after the class def:
logging.NullHandler = NullHandler