【问题标题】:Is it possible to have permanent variables in python [duplicate]python中是否可以有永久变量[重复]
【发布时间】:2020-05-31 08:38:28
【问题描述】:

好的,所以我正在尝试制作一个脚本,该脚本仅在安装并首次运行一周后才会激活。

我的第一个想法是新建一个带有激活时间的环境变量,并让程序检查当前时间是否大于那个,但我发现使用os.environ['activation-Time'] = str(time.time() + 604800)实际上并没有添加一个新的环境变量,可以稍后访问。

是否可以在每次运行代码时保存一个变量?或者是否可以从 python 脚本中创建一个新的环境变量?

【问题讨论】:

  • 保存在文件中
  • 将其保存在文件中是真正接受的答案^^
  • 也许您可以将 Python 脚本的结果保存到环境变量中? MY_ENV_VARIABLE=$(python my_script.py)
  • FWIW, activation-Time 似乎是一个无效的环境变量名称。例如,Bash 不会导出它:bash: export: `activation-Time': not a valid identifier。无论如何,在 env var 名称中添加连字符可能是不好的做法,camelCase 也是如此。你可以改用MY_SCRIPT_ACTIVATION_TIME 之类的东西。

标签: python python-3.x environment-variables


【解决方案1】:

根据您的具体需求,我可以想出几种方法来做到这一点。

  1. 您可以使用python-crontab 包来管理系统上的cron 作业。我不知道您使用的是 Windows、Mac OS X 还是 linux,也不知道这是否适用于 Windows。但是在 mac 或 linux 上,这允许您将作业设置为按计划运行,并且您可以决定何时再次运行此脚本。
  2. 您可以将最后一个(或第一个?)运行时写入 sqlite 数据库,并让 cron 作业定期检查,然后根据您想要的任何逻辑决定何时再次运行。
  3. 我会说环境变量可能不是要走的路,除非你将它们写入你的 shell .rc 文件,以便你打开的每个 shell 都重新使用它们。您仍然需要一些东西来尝试在某个时间运行您的脚本,无论是手动还是通过 cron 作业。

希望对您有所帮助,祝您编码愉快!

【讨论】:

    猜你喜欢
    • 2013-07-13
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-25
    相关资源
    最近更新 更多