此Node.js函数的Pythonic方式

问题描述

我正在尝试使给定的NodeJS函数具有Python函数,因为我的后端基于python。主要问题是我不知道在这种情况下要使用的工具。

我想在python中创建 generateTemporaryGuid 函数

NodeJS函数

// NodeJS code

import * as Chance from 'chance';    

private generateTemporaryGuid(seed: string,valid: number) {
    return new Chance(`${seed}${this.poolID}${Math.round(Date.Now() / valid)}`).guid();
    }
}

“ poolID” 是使用以下功能生成的:

// NodeJS code

public generatePool(seed: string): void {
    const myID = chance.string({
      pool: 'abcdefgh0123456789',length: 18,});
    this.poolID = 'pool-${myID}';
}

我可以使用以下代码创建与pool_id生成函数等效的python(如果我输入错了,请纠正我):

# Python code

p = 'abcdefgh0123456789'
pool_id = 'pool-' + ''.join(random.sample(p,18))

我了解它正在创建一个新的' Chance '实例,然后在该实例上调用 guid()方法

我不知道Chance的python等价物。我可以想到python中的uuid.UUID模块,但是它需要32或64位十六进制数字。

解决方法

您可能已经知道,Chance主要用于生成夹具,特别是用于自动测试。 等效项将使用“ faker”,它也存在于python和nodejs中。 您可以在这里找到它=> https://pypi.org/project/Faker/

如果只是生成伪造的guid,那么您所做的就足够了