У меня есть vm.py
в том же каталоге, что и скрипт main()
(getdata.py
). В getdata.py
, у меня естьPython Modules (имя модуля, на которое ссылаются перед назначением)
import vm
...
x = vm.Something()
Тогда питон жалуется
UnboundLocalError: local variable 'vm' referenced before assignment
Почему? При импорте не было ошибок.
UPDATE
Я обнаружил, что если бы я сделал
from vm import *
Вместо этого он работал. Также для другого файла/модуля, который я сделал, работает просто import
. Я загрузил полный код в GitHub Gist https://gist.github.com/2259298
Само собой, что должно работать. Вероятно, в вашем коде есть другие ссылки на vm, которые вы вырезали в '...', потому что вы не думали, что они релевантны, но на самом деле они были. См., Например, [этот вопрос] (http://stackoverflow.com/questions/1188944/reason-for-unintuitive-unboundlocalerror-behaviour) или [этот] (http://stackoverflow.com/questions/404534/ питон-Глобал-местные и-UnboundLocalError). – DSM
@DSM, обновленная запись с наблюдениями и полный код на gist (https://gist.github.com/2259298) –
Аргументы командной строки никогда не выполняются в случае верблюда; '--numReferences' будет обычно выполняться как' --num-reference' или '--references'. –