Проблема с import в самописном модуле python
Написал свой модуль:
import time
sec = int(input())
min = int(input())
hour = int(input())
if sec == '':
sec = None
exit(0)
if min == '':
min = None
exit(0)
if hour == '':
hour = None
exit(0)
def time_to_seconds():
second = (min * 60) + (hour * 3600) + sec
return second
print(time_to_seconds())
time_to_find = int(input())
if time_to_find == '':
time_to_find = None
exit(0)
def time_from_seconds():
time_output = time.strftime("%H Hours %M Minutes %S Seconds", time.gmtime(time_to_find))
return time_output
print(time_from_seconds())
Сделал файл в котором написал:
import timecount
Вывод такой:
4
4
4
14644
4
00 Hours 00 Minutes 04 Seconds
Первые 3 строки - ввод переменных sec min и hour. 4 строка - вывод секунд. 5 строка - ввод секунд. 6 строка - вывод времени.
Как вы поняли выполняется весь модуль хотя я его только импортировал.
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
При импортировании модуля исполняется весь код модуля.
Но этого можно избежать. При этом оставив возможность прямого запуска. Для этого оберните исполняемый код в такое условие:
if __name__ == '__main__':
main()
Ваш модуль в итоге может выглядеть так:
import time
def time_to_seconds():
second = (min * 60) + (hour * 3600) + sec
return second
def time_from_seconds():
time_output = time.strftime("%H Hours %M Minutes %S Seconds", time.gmtime(time_to_find))
return time_output
def main():
...
if __name__ == '__main__':
main()
