Найти - Пользователи
Полная версия: как правильно использовать функцию dir
Начало » Python для новичков » как правильно использовать функцию dir
1
PitPytoni
читаю книгу Лутц 3е издание и вот такой вот пример . Создал Модуль threename.py с тремя переменными которые становятся тремя атрибутами
Python 3.1
Винда

a = 'dead'
b = 'parrot'
c = 'sketch'
print (a,b,c)
далее с помощью dir функции модуль я хочу получить список имен доступных внутри модуля

dir(threename)
по идее должно получится так
>>>dir(threename)
['_ _builtins_ _', '_ _doc_ _', '_ _file_ _', '_ _name_ _', 'a', 'b', 'c']
а мне выводит вот такую ошибку :(
Traceback (most recent call last):
File "C:\py3eg\threename\dir_threename.py", line 1, in <module>
dir(threename)
NameError: name 'threename' is not defined
хотя файл с dir сохранил в той же директории что и модуль :(
expee
Может попробовать импортировать его?

import threename
PitPytoni
expee
Может попробовать импортировать его?

import threename
import работает прекрасно и даже если использовать from
но мне интересно разобраться с функцией dir , как она работает и почему не работает у меня
o7412369815963
эх…
>import threename
>dir(threename)
PitPytoni
просто в книге написано что функция dir должна вывести имена переменых , а почему же у меня так не получается :(

вот что должен показать код
>>>dir(threename)
['_ _builtins_ _', '_ _doc_ _', '_ _file_ _', '_ _name_ _', 'a', 'b', 'c']
а для того результата который выводит код
import threename
dir(threename)
можно просто написать

import threename
зачем тогда туда вставлять dir ??
Ed
У меня все работает :)
In [1]: import treename
('dead', 'parrot', 'sketch')

In [2]: dir(treename)
Out[2]: ['__builtins__', '__doc__', '__file__', '__name__', 'a', 'b', 'c']
PS: Я понял! Я экстрасенс!!! :)
Пример Лутц скорее всего давал для питоновой консоли, а вы положили dir(treename) в некий файл, который запускаете, так?
Просто в консоли dir(treename) приведет к немедленному выводу результата. А если положить в файл, то нужно явно звать print:
import treename
print(dir(treename))
PitPytoni
Ed
Спасибо большое !!! вы решили сразу 3 моих проблемы вы действительно Экстрасенс !!
Кстати Лутс в книге не слова не упоминает как и где будет происходить вызов , он даже не пишет о том что надо делать save file и уложить их в одну директорию хотя это нужно было сделать в привидущих его примерах а начинает приводить примеры для пробы , это уже написано буквально на 100 страниц ниже .
Потому и возникают вот такие глупые вопросы просто не хочется продолжать читать если не понял как это работает , потому как дальше идёт следующий пример и показывается пример другой (функции) , но с участием преведушей , а как понять конец если ты не знаешь начало :) :)
Хотя конечно можно было продолжить читать , тупо не поняв о чём речь надеясь что поймёш дальше только зачем читать тогда :) можно просто перескакивать с главы на главу потом обратно в итоге Хаoс :)

Я тоже пытался вызывать print но незнал что нужны двойные скобки !Спасибо
Ed
Сорри. Я имел в виду ‘телепат’ :)
Обычно, когда входных данных недостаточно для решения проблемы на форумах типа этого пишут, что телепаты в отпуске или типа того.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB