Модуль импортирован в одну функцию NameError в другую функцию, вызванную впоследствии

Метод Convert.ToDouble будет кидать FormatException , если значение не является числом в допустимом формате. Вы получаете то же самое здесь означает, что либо значение в previousTimeVASN не является числом или оно не находится в ожидаемом формате. Ниже приведен альтернативный вариант, чтобы проверить, возможно ли преобразование, т. Е. Double.TryParse Method

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

blockquote>

Таким образом, код можно обновить следующим образом:

if (swVASN.IsRunning)
{
     TimeSpan tsVASN = swVASN.Elapsed;
     double test = tsVASN.TotalSeconds;
     double test1;
     Double.TryParse(previousTimeVASN, out test1);
     txtVASN.Text = (test + test1).ToString(); 
}

, если вы хотите предупредить пользователя что второе число недопустимо, вы можете использовать возвращаемое значение синтаксиса, например следующее:

if(Double.TryParse(previousTimeVASN, out test1))
   txtVASN.Text = (test + test1).ToString(); 
else
   txtVASN.Text = "previous Time VASN is not valid:'

1
задан NDEthos 20 January 2019 в 07:33
поделиться

1 ответ

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

Измените прогон () на:

def Run():
    global digitalocean
    import digitalocean
    myManager = digitalocean.Manager(token=accessToken)
    myDroplets = myManager.get_all_droplets(tag_name=tagName)

    Install() 
    CreateDroplet()
0
ответ дан NDEthos 20 January 2019 в 07:33
поделиться
Другие вопросы по тегам:

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