Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 10, 2012 16:11:22

Immor+al
От:
Зарегистрирован: 2011-03-10
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Плавающая ошибка Unbalanced parenthesis.Missing operator.Invalidnumber

Не могу понять, время от времени в моем скрипте вылазит такое:
>re -D -U book //имя скрипта
Invalid number. Numeric constants are either decimal (17),
hexadecimal (0x11), or octal (021).
… разные строки выведенные через принт()
Invalid number. Numeric constants are either decimal (17),
hexadecimal (0x11), or octal (021).
Unbalanced parenthesis.
Missing operator.

Я использую в своем скрипте только: OptionParser, subprocess.call(cmd, shell=False), и:
process = subprocess.Popen(cmd.split(' '),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
(stdoutdata, stderrdata) = process.communicate()

PyCharm не находит никаких ошибок в коде, такое вылазит только в рантайме и то не всегда.
Что это может быть?

все что делает скрипт - это ребейс гитом примерно 10 репозиториев (с разными проверками, чтоб не затереть локальные изменения)



Офлайн

#2 Янв. 10, 2012 16:27:21

Immor+al
От:
Зарегистрирован: 2011-03-10
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Плавающая ошибка Unbalanced parenthesis.Missing operator.Invalidnumber

Кажется разобрался, было:

(stdoutdata, stderrdata) = process.communicate()
if stdoutdata:
log_file.write(stdoutdata + "\n")
Я обернул stdoutdata в str и ошибка пропала.
Похоже оно на конкатенации со строкой и падало

Апдейт: Бага осталась. Причем при дебаггинге оно не падает.
Есть какие нибудь динамические анализаторы кода которые могут находить такие ошибки?

Чем еще может быть вызвана эта ошибка?



Отредактировано (Янв. 10, 2012 16:38:27)

Офлайн

#3 Янв. 11, 2012 01:37:51

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9998
Репутация: +  857  -
Профиль   Отправить e-mail  

Плавающая ошибка Unbalanced parenthesis.Missing operator.Invalidnumber

Immor+al
Не могу понять, время от времени в моем скрипте вылазит такое:
скопируй точно

неправильная конкатенация строк выглядит по-другому



Офлайн

#4 Янв. 16, 2012 13:21:36

Immor+al
От:
Зарегистрирован: 2011-03-10
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Плавающая ошибка Unbalanced parenthesis.Missing operator.Invalidnumber

Блин, проблема оказалась не в питоне, а в батнике-враппере:

Я там использовал %TIME% для замера времени выполнения скрипта и в редких случаях оно давало такую ошибку. Без этого костыля все работает как надо.

@echo off
call D:\_python\python-utils\src\rebaser.py -a D:\ %1 %2 %3 %4 %5 %6 %7 %8 %9



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version