我收到数据为
{
"name": "Unknown",
"parent": "Uncategorized",
"uuid": "06335e84-2872-4914-8c5d-3ed07d2a2f16"
},
Run Code Online (Sandbox Code Playgroud)
我需要转换uuid从String到uuid
我没有在python文档上找到方法,或者我在这里遗漏了一些基本的东西?
我想获得一个在Windows和Linux上使用Python的计算机独有的ID.它可能是CPU ID,主板串口,......或其他任何东西.
没有运气,我看了几个模块(pycpuid,psi,...).
有关如何做到这一点的任何想法?
目前我有一个循环,试图通过向文件名字符串添加后缀来查找未使用的文件名.一旦找不到文件,它就会使用无法打开具有该名称的新文件的名称.问题是这个代码在网站中使用,并且可能有多次尝试同时执行相同的操作,因此存在竞争条件.
如果在检查时间和另一个线程中打开时间之间创建一个文件,我如何防止python覆盖现有文件.
我可以通过随机化后缀来最小化机会,但是已经根据路径名的部分最小化了机会.我想用一个可以告诉的函数来消除这个机会,只有在它不存在的情况下才创建这个文件.
我可以使用win32函数来执行此操作,但我希望这可以跨平台工作,因为它最终将托管在linux上.
我正在尝试为我的 android 应用程序在烧瓶中编写一个基于令牌的身份验证。为此,我需要一个唯一的令牌,我可以使用它来验证用户。
它的危险库提供了一个 JSONWebSignatureSerializer 函数,我可以使用它来创建 JWT 令牌。所以我的第一个问题是,将 JWT 用于基于移动的身份验证是否安全?
其次,我对 django rest 框架如何生成其令牌进行了一些研究。
def generate_key(self):
return binascii.hexlify(os.urandom(20)).decode()
Run Code Online (Sandbox Code Playgroud)
这个令牌是唯一的还是只是一个随机的?我应该使用哪一个进行基于移动的身份验证?
在 python 中为移动应用程序生成唯一令牌的基本方法是什么?
我是airflow的新手。在我的ETL管道公司中,目前我们正在使用Crontab和自定义调度程序(内部开发)。现在我们计划为我们所有的数据管道场景实现apache airflow。为此,在探索功能的同时无法找到每个任务实例/Dag 的unique_id。当我搜索大多数解决方案时,它们都以宏和模板结束。但是它们都没有为任务提供 uniqueID 。但是我能够在 UI 中看到增量 uniqueID对于每个任务。有什么方法可以轻松访问我的 python 方法中的这些变量。主要用例是我需要将这些 ID 作为参数传递给 Python/ruby/Pentaho 作业,称为脚本/方法。
例如
我的 shell 脚本“test.sh”需要两个参数,一个是 run_id,另一个是 collection_id。目前,我们正在从集中数据库生成这个唯一的 run_id 并将其传递给作业。如果它已经存在于气流上下文中,我们将使用它
from airflow.operators.bash_operator import BashOperator
from datetime import date, datetime, timedelta
from airflow import DAG
shell_command = "/data2/test.sh -r run_id -c collection_id"
putfiles_s3 = BashOperator(
task_id='putfiles_s3',
bash_command=shell_command,
dag=dag)
Run Code Online (Sandbox Code Playgroud)
在执行此 Dag(计划/手动)时为每次运行寻找唯一的 run_id(Dag 级别/任务级别)
注意:这是一个示例任务。该 Dag 将会有多个依赖任务。附加 Airflow UI 中的 Job_Id 屏幕截图

谢谢阿努普R
我正在尝试获取CPU serial或motherboard serial使用C或Python用于许可目的.可能吗?
我正在使用Linux.
我正在努力integer为stringPython 生成给定类型的ID 。
我认为内置hash功能是完美的,但有时ID似乎太长。这是一个问题,因为最大长度限制为64位。
到目前为止,我的代码:hash(s) % 10000000000。我可以预期的输入字符串的长度将在12-512个字符之间。
要求是:
如果有人可以提供任何提示/解决方案,我将非常高兴。
在AWS Dynamo DB中,当我们调用update / put spotid函数时,我们想为主键自动生成唯一的ID:
dynamodb.put_item(
TableName = tablesinfo, Item = {
'spot_id':{'N' : spot_id},
'latitude':{'N' : lat},
'longitude':{'N' : lon},
'description':{'S' : descrip}
}
Run Code Online (Sandbox Code Playgroud)
注意代码是使用Python编写的,但是由于我们计划为此使用AWS Lambda,因此我们也可以使用Java或Node.JS。但是,如果DynamoDB可以处理此功能,我们将更可取。
我需要生成可以在文件名中使用的唯一标识符,并且可以在给定相同的输入值的情况下进行复制。我需要生成数百万个这样的标识符,因为源输入有数百万种组合。
为简单起见,我将在示例中使用一个小的集合,但实际的集合可能会相当大(数百,也许数千个项目);大于可以手动编码为文件名。
我注意到生成 UUID 的第 5 种方法允许您提供字符串输入。
> input_set = {'apple', 'banana', 'orange'}
> uuid.uuid5(uuid.NAMESPACE_URL, pickle.dumps(input_set)).hex
'f39926529ad45997984643816c1bc403'
Run Code Online (Sandbox Code Playgroud)
文档说它SHA1在幕后使用。碰撞风险是否太高?有没有更好的方法来可靠地散列唯一标识符?