импортированная функция не работает при использовании ее из других модулей - PullRequest
0 голосов
/ 02 мая 2020

Я пытался понять, что не так с моим кодом, но безуспешно ...

У меня есть файл two.py, который я написал с помощью некоторой функции logs.py , которая должна запишите входные данные в файл и monitor_mode.py используйте thous function

При запуске log.py в качестве основного все просто отлично работает, а файл создается и записывается, однако при попытке используйте ту же функцию в monitor_mode.py, кажется, что ничего не записано в файлы, и я понятия не имею, почему

Я попытался отладить, и код направлен на правильную функцию, и все идет как исключение, кроме нет создания или данных, записанных в файл

спасибо за любую помощь

logs.py

serviceList = 'serviceList.txt'
statusLog = 'statusLog.txt'


def print_to_file(file_name, input):
    with open(file_name, 'a+') as write_obj:
        write_obj.write(input + '\n')
    write_obj.close()


def add_timestamp(input):
    timestamp = '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' + datetime.datetime.now().strftime(
        "%Y-%m-%d %H:%M:%S") + '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
    input = timestamp + '\n' + input
    return input


if __name__ == "__main__":
    import services

    for i in range(3):
        proc = services.list_of_process()
        proc = add_timestamp(proc)
        print_to_file(serviceList, proc)

monitor_mode.py

import logs
import services

serviceList = 'serviceList.txt'
statusLog = 'statusLog.txt'


def updates_log():
    proc = services.list_of_process()
    proc = logs.add_timestamp(proc)
    logs.print_to_file(serviceList, proc)
    print('Updates Logs\n' + proc)


if __name__ == "__main__":
    for i in range(3):
        updates_log()

EDIT1.1 приведенный выше код работает на ubuntu16.8, при запуске кода на машине win10 он работает нормально.

services.list_of_process () - вернуть строку

...