如何在Python程序执行过程中更改变量

问题描述 投票:0回答:0

我需要程序在某个时间更改变量的值,但是当我运行它时,它仍然返回相同的值给我。

这是一个应该更改同一模块中的全局变量 days 的函数。


days = dict()

def create_days():
    global days
    start_time = datetime.datetime.strptime(
        datetime.datetime.now().replace(hour=10, minute=00).strftime('%Y-%m-%d %H:%M'), '%Y-%m-%d %H:%M')
    week: dict = _create_weeks_dict(start_time)

    days = week

在另一个模块中还有另一个函数使用 Celery 来安排 create_days 函数


@celery_app.task
def every_day_routine():
    create_days()


celery_app.conf.beat_schedule = {
    'run-every-day-at-midnight': {
        'task': 'worker.celery.every_day_routine',
        'schedule': crontab(hour='0', minute='0')
    }
}

启动后,它会根据时间表发生变化,并在celery控制台中显示不同的值,但程序运行时变量不会发生变化。

我在另一个模块中使用了 days 变量,但我只导入它。

python-3.x dictionary celerybeat
© www.soinside.com 2019 - 2024. All rights reserved.