2024-09-28 05:21:38 发布
网友
创建python脚本的最佳方法是什么?通过调用该脚本,它将始终生成一个新的唯一ID(Autoincremental)
你运行脚本,它会告诉你1,然后关闭脚本,再次打开,会告诉你2。在
它的目的是创建一个将被跨使用的脚本,这个ID将用于跟踪最新的更改等等。在
另外,我不是说要做一个函数来完成它。在
我假设你有一个脚本,每次执行它都会产生一些结果。然后需要一个值,该值(1)区分一个结果和另一个结果,(2)显示哪个结果最后出现。对吗?如果是这样,我们有很多选择。在最简单的情况下(脚本总是在同一台机器上运行),我建议两个选项
在这种情况下,您将拥有一个文件并从中读取编号:
try: with open('count.txt') as count_file: content = count_file.read() count = int(content) except Exception: count = 0
在执行脚本所做的任何操作之后,您将向文件中写入已读取但递增的值:
然而,一个更简单的选择不是增加值而是获取时间戳。您可以使用^{},它返回自Unix epoch起的秒数:
>>> import time >>> time.time() 1547479233.9383247
你总会知道哪个结果比其他结果来得晚。然而,就我个人而言,我宁愿format the current time,它更容易阅读和推理:
>>> from datetime import datetime >>> datetime.now().strftime('%Y%m%d%H%M%S') '20190114132407'
这些都是基本的想法,您可能需要注意角落情况和可能的失败(尤其是基于文件的解决方案)。也就是说,我想这些都是可行的第一步。在
你想让一个程序在两次或两次以上的执行之间记住一条信息,我们有一个技术术语:信息应该是持久的。因为您要求一个自动递增特性,所以您需要一个持久计数。但是,我怀疑,如果使用时间戳选项,则不需要它。在这里做什么由你决定。在
import uuid uniqueid = uuid.uuid1()
既然你没有提供任何代码,我也不会提供任何代码。在
解决方案1:唯一ID
1)时间:创建函数,为您提供时间戳
2)ID:创建生成带有随机数字和字母的长字符串的函数
保存在文件或其他地方
解决方案2:偏移-增量
1)文件中有0。在
2)打开文件,读取行,转换为整数,增量为+1,写入文件。在
注意:
你的标题错了。前一刻你在谈论唯一的ID,下一刻你在谈论偏移量。惟一的ID和运行python脚本的计数是非常矛盾的想法
我假设你有一个脚本,每次执行它都会产生一些结果。然后需要一个值,该值(1)区分一个结果和另一个结果,(2)显示哪个结果最后出现。对吗?如果是这样,我们有很多选择。在最简单的情况下(脚本总是在同一台机器上运行),我建议两个选项
保存一个文件
在这种情况下,您将拥有一个文件并从中读取编号:
在执行脚本所做的任何操作之后,您将向文件中写入已读取但递增的值:
^{pr2}$保存时间戳
然而,一个更简单的选择不是增加值而是获取时间戳。您可以使用^{} ,它返回自Unix epoch起的秒数:
你总会知道哪个结果比其他结果来得晚。然而,就我个人而言,我宁愿format the current time,它更容易阅读和推理:
这些都是基本的想法,您可能需要注意角落情况和可能的失败(尤其是基于文件的解决方案)。也就是说,我想这些都是可行的第一步。在
技术说明
你想让一个程序在两次或两次以上的执行之间记住一条信息,我们有一个技术术语:信息应该是持久的。因为您要求一个自动递增特性,所以您需要一个持久计数。但是,我怀疑,如果使用时间戳选项,则不需要它。在这里做什么由你决定。在
既然你没有提供任何代码,我也不会提供任何代码。在
解决方案1:唯一ID
1)时间:创建函数,为您提供时间戳
2)ID:创建生成带有随机数字和字母的长字符串的函数
保存在文件或其他地方
解决方案2:偏移-增量
1)文件中有0。在
2)打开文件,读取行,转换为整数,增量为+1,写入文件。在
注意:
你的标题错了。前一刻你在谈论唯一的ID,下一刻你在谈论偏移量。惟一的ID和运行python脚本的计数是非常矛盾的想法
相关问题 更多 >
编程相关推荐