Как я могу хранить документацию в файле рассола? - PullRequest
0 голосов
/ 25 ноября 2018

В Python я довольно часто генерирую файл рассола, чтобы сохранить работу, которую я проделал во время программирования.

Есть ли возможность сохранить что-то вроде строки документации в рассоле, которая объясняет, как был создан этот рассол ичто это значит.

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Фреймы данных и списки обычно не имеют строк документации, потому что они являются данными.Спецификация строки документа гласит:

Строка документа - это строковый литерал, который встречается как первый оператор в определении модуля, функции, класса или метода. Такая строка документа становится __doc__ специальный атрибут этого объекта.

Вы можете создать любой из них, чтобы создать строку документации, связанную с процессом, который использует ваши данные.Например, основной class вашего модуля.

class MyClass:
    """My docstring"""

    def __init__(self, df):
        self.df = df # Your dataframe
    ...

Нечто подобное выглядит так, как если бы оно было ближе всего к тому, о чем вы просили в рамках языковых соглашений.

0 голосов
/ 25 ноября 2018

Поскольку вы можете объединять все виды элементов в словари, кортежи и списки, прежде чем их выбирать, я бы сказал, что наиболее простым решением будет использование словаря с ключом строки документации.

pickle_dict = {'objs': [some, stuff, inhere],
               'docstring': 'explanation of those objects'}

Конечно, в зависимости от того, что вы используете, вы можете захотеть использовать пары ключ-значение для каждого объекта вместо списка объектов.

Когда вы открываете резервное копирование, вы можете просто прочитать строку документации, чтобы запомнить, какэтот маринад оказался.


В качестве альтернативного решения мне часто просто нужно сохранить одно или два целочисленных значения о маринаде.В этом случае я выбираю сохранение в заголовке файла рассола.В зависимости от того, что вы делаете, это может быть предпочтительнее, так что вы можете прочитать «строку документации», не снимая ее.

...