Проблема с 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 строка - вывод времени. Как вы поняли выполняется весь модуль хотя я его только импортировал.

import time ничего не выводит


Ответы (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()
→ Ссылка