Если вы хотите выполнить перенаправление внутри скрипта Python, установите sys.stdout
в файл-объект, трюк:
import sys
sys.stdout = open('file', 'w')
print 'test'
. Более распространенным методом является использование перенаправления оболочки при выполнении ( то же самое в Windows и Linux):
$ python foo.py > file
Не "обходите" ошибку - она не сделает то, к чему Вы хотите ее. Ошибка там на серьезном основании.
перечислимые значения инициализируются перед любыми другими статическими полями. Если Вы хотите сделать что-то как добавление всех значений в карту, сделайте это в статическом инициализаторе после все остальное:
import java.util.*;
public enum Foo
{
BAR, BAZ;
private static final Map<String, Foo> lowerCaseMap;
static
{
lowerCaseMap = new HashMap<String, Foo>();
for (Foo foo : EnumSet.allOf(Foo.class))
{
// Yes, use some appropriate locale in production code :)
lowerCaseMap.put(foo.name().toLowerCase(), foo);
}
}
}