Python не имеет встроенного эквивалента enum
, и другие ответы имеют идеи для реализации Вашего собственного (можно также интересоваться по главной версии в поваренной книге Python).
Однако в ситуациях, где enum
требовался бы в C, я обычно заканчиваю просто простые строки использования : из-за пути реализованы объекты/атрибуты, (C) Python оптимизирован для работы очень быстро с короткими строками так или иначе, таким образом, действительно не было бы никакого выигрыша в производительности к использованию целых чисел. Для принятия мер против опечаток / недопустимые значения, можно вставить регистрации выбранных мест.
ANIMALS = ['cat', 'dog', 'python']
def take_for_a_walk(animal):
assert animal in ANIMALS
...
(Один недостаток по сравнению с использованием класса - то, что Вы теряете преимущество автоматического заполнения)
Как вы уже заметили, целевой URL должен быть не в формате XML, а в заголовке «Назначение». Возможно, вы просматривали ответ об ошибке ...
В общем, эта проблема исчезнет, если клиенты и серверы реализуют WebDAV уровня 3 (как определено в RFC4918), который позволяет заголовку Destination быть просто относительным путем.
Hmm, found the answer. Always the same :)
I added the next line to my 'private server' config file:
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so RequestHeader edit Destination ^https http early
(e.g. of config location '/etc/httpd/conf.d/DefaultRequestHeader.conf')
and it worked. I don't know if this has drawbacks. I'll see.