【发布时间】:2020-06-24 23:27:18
【问题描述】:
这是我尝试开始创建一个“实时”运行的脚本,其参数可以在脚本运行时更改。
我的想法是会有一个 Python 脚本作为无限循环运行:
output.py
while True:
print(0)
它总是输出0。会有一个文件,现在我猜是 config.ini 文件(或类似的文件),我可以在其中设置输出为1 的时间。比如:
config.ini
[INPUT]
times = [[4000, 6000], [25000, 55000]]
注意:我将其想象为以秒为单位的 24 小时刻度(86400 秒),间隔以秒为单位。
它是如何工作的:
- 我启动 output.py,它会在几秒钟内从当前 GMT 开始运行
- 我将我的时间间隔(即
[[4000, 6000], [25000, 55000]])输入到config.ini,其中输出为1 -
output.py 一直在“检查”config.ini 并导入新输入的时间间隔,
0将更改为1,以及检查是否删除了预定的时间间隔 - 当输入到 config.ini 的时间发生时(即
[4000, 6000]),在间隔期间输出设置为1输入。一旦结束,输出将返回到0,并且不会再次变为1,直到达到另一个预定间隔(即[25000, 55000])。
补充要点:
-
config.ini 文件始终由 output.py 来“检查”新的时间间隔,其中输出将是
1而不是0。 “检查”将在几分钟甚至几秒钟的范围内。 - output.py 每次 GMT 到达午夜时都会“重置”
- output.py 是在真实的时间尺度上工作的,所以输出实际上是每秒输出一次
- config.ini 中可以输入任意数量的时间间隔,或者根本没有
- config.ini 可以在 output.py 运行时随时更改
-
0和1可以认为是在 y 轴上,时间间隔在 x 轴上 - 当 output.py 在格林威治标准时间午夜重置时,如果时间间隔仍在 config.ini (即
[[4000, 6000], [25000, 55000]]),它们只会在指定的时间再次应用。
正如我之前提到的,它不需要是 config.ini 文件,它可以是 .txt 或其他类型的文件,甚至可能是数据库。我理想情况下想要使用的是可以修改的东西,其中条目和删除可以手动完成(我输入和删除时间间隔),或者自动(一个单独的 Python 脚本可以在 config.ini 文件中输入和删除间隔)。
如果需要澄清,请告诉我。这是我一段时间以来一直试图解决的问题,我希望有一个可行的示例来构建。
【问题讨论】:
-
堆栈溢出更适用于您编写了一些代码但无法使其以您想要的方式工作的情况。您实际上是在要求其他人为您编写整个程序。这不是 Stack Overflow 的工作方式。
-
@kindall 感谢您让我知道 Stack Overflow 的工作原理。这不是我见过做的问题,我个人也不知道去谷歌什么的,或者在SO上搜索找到类似的问题。如果您对与我可以研究的问题相关的主题有任何建议,请告诉我。
标签: python config infinite-loop