2016-01-25 2 views
0

Я попытался импортировать свой собственный модуль в Python 3.5. Перед импортом я добавляю путь в sys.path, но есть еще «In:». Что мне следует вводить после «В»? Я попытался ввести путь, но это не работа.Почему python show 'In:' после импорта моего собственного модуля

enter image description here

Вот код моего модуля. Это простой тест, и я просто хотел узнать, как импортировать собственный модуль в Python.

import ipdb 
'list mulitiple' 
def prod(l): 
    length = len(l) 
    if length == 1: 
     return l[1] 
    else: 
     result = 1 
     for i in l: 
      result *= i 
    return result 

if __name__ == '__main__': 
    l = [1,2,3,4,5,6] 
    print(prod(l)) 

Это будет так мило для вас, чтобы помочь мне добавить pythonpath навсегда. Я изменил 'pythonpath' в systempath, но кажется, что это неправильно ...

+0

Если 'length' равно 1, я думаю, вы хотели сказать' return l [0] '. – Reti43

+0

О, да. Спасибо, что указали это. –

ответ

2

Ваш модуль был импортирован. Но код в блоке if __name__=="__main__" не запускается, когда ваш модуль импортируется, только при непосредственном запуске модуля. (Это цель блока if __name__=="__main__".) Поэтому импорт вашего модуля не делал ничего очевидного; он загрузил вашу функцию, но не назвал ее.

Поскольку, похоже, вы используете IPython, вы можете использовать магическую команду %run для запуска вашего файла, как описано here.

Если вы работаете в интерактивном режиме, часто вы предпочитаете просто импортировать свой файл, а затем использовать его из интерактивной оболочки. Например, после его импорта вы можете сделать mymath.prod([1, 2, 3, 4, 5, 6]) для вызова вашей функции, как и с любым обычным библиотечным модулем.

+0

Спасибо за ваш ответ! Я решил это, комментируя код о IPython. –