Вопрос
Я использую pyo3 в качестве привязки для использования ржавчины из Python.
pyo3 дает две категоризации для использования #[pyclass] on enum : простой и Complect>. Enum Иметь пробелы в функциональности или доступных решения в Интернете.
Я не могу понять, как использовать python pickle на сложном переводе .
Кто -нибудь смог реализовать Pailling для комплекса enum с PYO3? Enums можно маризовать
При реализации Python Pickle for простых перечислений я обычно использую предварительно обсуждаемые методы __getnewargs __ или настройки состояния, предпочитая __getnewargs __ , поскольку он не находит на внешний выбор сериализатора. /> getNewargs < /h3>
#[pyclass(eq)]
#[derive(Copy, Clone, PartialEq)]
pub enum MyEnum2 {
Value0 = 0,
Value1 = 1,
}
#[pymethods]
impl MyEnum2 {
// Pickling
#[new]
fn new_py(item: usize) -> MyEnum {
match item {
_ if item == MyEnum2::Value0 as usize => MyEnum2::Value0,
_ if item == MyEnum2::Value1 as usize => MyEnum2::Value1,
_ => MyEnum2::Value0,
}
}
pub fn __getnewargs__) -> PyResult {
*self = decode_from_slice(state.as_bytes(), legacy()).unwrap().0;
Ok(())
}
pub fn __getstate__) -> PyResult) -> PyResult {
*self = decode_from_slice(state.as_bytes(), legacy()).unwrap().0;
Ok(())
}
pub fn __getstate__) -> PyResult) -> PyResult {
| ^ expected `False`, found `True`
104 | pub fn extract_pyclass_ref_mut(&self) -> PyResult {
match self {
TestEnum::Value0{} => Ok((0_usize, None)),
TestEnum::Value1{val: n} => Ok((1_usize, Some(*n))),
}
}
}
< /code>
Gets: < /p>
>>> pickled = pickle.dumps(TestEnum.Value0())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E _pickle.PicklingError: Can't pickle : attribute lookup TestEnum_Value0 on module failed.
< /code>
Кто -нибудь может пролить свет на это? Возможно, я также допустил тривиальную ошибку ...
Подробнее здесь: https://stackoverflow.com/questions/797 ... -rust-enum
Как добавить Python Pickle в комплексную ржавчину PYO3? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Есть ли ошибка в том, как Python вычисляет комплексную степень? [дубликат]
Anonymous » » в форуме Python - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Есть ли ошибка в том, как Python вычисляет комплексную степень? [дубликат]
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Есть ли ошибка в том, как Python вычисляет комплексную степень? [дубликат]
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как заставить ржавчину отправлять системный вызов сброса при записи данных?
Anonymous » » в форуме Linux - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-