Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как получить имена переменных модуля? 
:(
    Опции темы
Гость_roger
Дата 5.7.2005, 13:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Нужно получить список переменных модуля. Что-то похожее нашел в модуле inspect, но пока ума не приложу, как это применить (есть функция co_varnames, вроде бы так, которая выдает список переменных объекта, но объект должен быть типа "code"). Как бы это проще сделать?
И, может быть, можно все еще проще сделать - вообще задача сейчас состоит в том, чтобы узнать, сколько раз каждая переменная встречается в модуле (если 1 раз - либо опечатка, либо переменную создали и забыли).
  Вверх
1DRE
Дата 5.7.2005, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.7.2005

Репутация: нет
Всего: нет



что то не понял сколько раз переменную используют хотите узнать или сколько раз её объявляют?
i = ....
for i in bla:
....

Если взять этот код к примеру. Из него вы хотите найти сколько раз обьявляют, то огда нана парсить по имени и '=', а если сколько раз используют то тут ещё проще, просто ищем дубликаты. В http://aspn.activestate.com/ASPN/Python/Cookbook/ можно найти оба примера.
Или вы о dir() говорите.
PM MAIL   Вверх
setq
Дата 5.7.2005, 14:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











список переменных модуля можно получить через
Код
>>> import X
>>> dir (X)
['x', 'y' ... ]
... кажется.
  Вверх
Гость_roger
Дата 6.7.2005, 11:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
что то не понял сколько раз переменную используют хотите узнать или сколько раз её объявляют?
i = ....
for i in bla:
....

Если взять этот код к примеру. Из него вы хотите найти сколько раз обьявляют, то огда нана парсить по имени и '=', а если сколько раз используют то тут ещё проще, просто ищем дубликаты. В http://aspn.activestate.com/ASPN/Python/Cookbook/ можно найти оба примера.
Или вы о dir() говорите.


Мне нужно подсчитать, сколько раз используется имя переменной в произвольном модуле. Т.е. при присвоении переменной значения - одно использование, изменение значения или применение переменной в выражении - еще одно использование. Смысл в том, чтобы вывести все переменные, которые упоминались лишь раз. Это либо переменные, написанные с опечаткой, либо переменные, которые создали и забыли использовать.

Цитата
>>> import X
>>> dir (X)
['x', 'y' ... ]


dir() - это первое, что я попробовал. Но он не выдал мне имена переменных.
  Вверх
1DRE
Дата 6.7.2005, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.7.2005

Репутация: нет
Всего: нет



ну тогда пиши прогу которая будет сверять по переменной и =
А потом выведет имена для которых небыло повтора. Короче это гемор. Даже лень заниматся.
PM MAIL   Вверх
Гость_roger
Дата 7.7.2005, 08:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
ну тогда пиши прогу которая будет сверять по переменной и =


Да не хотелось бы использовать такой неэлегантный метод (например, если переменная используется, но ей не присвоили значение, эту ошибку можно будет обнаружить лишь когда интерпретатор дойдет до этого места), в самом пайтоне есть мощные средства интроспекции, хотя это вариант - если не получится по-другому, так и сделаю.

Цитата
Короче это гемор. Даже лень заниматся.


Еще больший гемор отлавливать ошибки в программе, а однажды написанная эта прога поможет выявить часть ошибок без длительного тестирования.
  Вверх
setq
Дата 15.7.2005, 11:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











кажется есть решение для твой проблемы. посмотри
Цитата
http://pychecker.sourceforge.net/
судя по описанию умеет отлавливать в частности
Цитата
Unused globals and locals (module or variable)
сам не пользовался
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.