Как сделать длинную строку из учения PEP8-совместимого? [Дубликат]

Текущая спецификация JNI явно заявляет, что создание нескольких виртуальных машин в одном процессе не поддерживается , и это фактически утверждается в исходном коде HotSpot .

Даже если ваша dll вызывает JNI_CreateJavaVM только один раз, это не означает, что это самый первый вызов в течение всего процесса. Фактически, JNI_CreateJavaVM сначала вызывается java.exe или другой пусковой установкой вашей IDE (idea.exe, eclipse.exe, netbeans.exe и т. Д.).

Поэтому вместо того, чтобы создавать Java VM вслепую , A.dll должен проверить сначала, если JVM уже существует в текущем процессе, вызвав JNI_GetCreatedJavaVMs . Если функция возвращает непустой массив, используйте GetEnv или AttachCurrentThread , чтобы получить JNIEnv* для существующей виртуальной машины, иначе создайте новую виртуальную машину.

30
задан pelson 15 November 2012 в 12:30
поделиться

2 ответа

Только что понял:

def long_string():
    """
    Returns a string which is wider than the recommended PEP8 linewidth

    >>> print long_string()
    01234567890123456789012345678901234567890123456789012345678901234567890\
12345678901234567890123456789

    """
    return '0123456789' * 10

Надеюсь, что кто-то поможет.

33
ответ дан pelson 18 August 2018 в 19:14
поделиться
  • 1
    Как правило, я избегаю таких вопросов в доктринах, меняя свои ожидания. res = long_string(); print res[:60], за которым следуют первые 60 символов и т. д. – Martijn Pieters♦ 15 November 2012 в 12:32
  • 2
    Да, это, безусловно, один подход. Я на самом деле документирую значение по умолчанию, которое я бы хотел, чтобы пользователь увидел в docstring, но я не хочу, чтобы он стал устаревшим. – pelson 15 November 2012 в 12:34
  • 3
    Использование эллипса в результате может быть альтернативным решением, если вам не нужен точный результат, например, написать 012345678901234567...0123456789 в качестве ожидаемого результата. – davitenio 5 December 2013 в 14:39
  • 4
    Ellipsis необходимо включить, добавив директиву # doctest: +ELLIPSIS в конец строки кода, которая выводит результат. – qris 9 April 2015 в 10:18

Как было предложено davitenio и qris, я бы рекомендовал использовать директиву #doctest: +ELLIPSIS , как это.

>>> from test.test_ppp import MockForm
>>> form = MockForm(mock_file='no-errors.xlsx')
>>> form.get_languages(settings_default='English', survey_header=
... form.metadata['raw_data']['survey'][0])  #doctest: +ELLIPSIS
['Ateso', 'English', 'Luganda', ... 'Runyoro-Rutoro']
2
ответ дан Joe Flack 18 August 2018 в 19:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: