如何在Python中将数字的数据类型从字符串转换为整数

时间:2019-10-08 08:14:21

标签: python-3.x

我在python中为文件生成了哈希值。该值包含字符和数字。如果我检查每个值的数据类型,它将显示为字母和数字的字符串。如何将数字的数据类型从字符串转换为整数?

预先感谢!

    import hashlib
    myl = []
    fobj = open('akash.txt','r')
    buffer = fobj.read()
    hsh = hashlib.sha512()
    hsh.update(buffer.encode('utf-8'))
    val = hsh.hexdigest()
    for i in val:
             print(type(i))
    fobj.close()

该代码生成的哈希值是:

  

cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

我希望输出为

    <class 'str'>
    <class 'str'>
    <class 'int'>
    ...

但这是我得到的输出

    <class 'str'>
    <class 'str'>
    <class 'str'>
    ...

1 个答案:

答案 0 :(得分:1)

我真的不知道为什么要这样做,但是可以尝试是否可以先将哈希字符串中的字符转换为整数,然后再打印类型。只需按以下步骤更改循环

for i in val:

    try:
        n = int(i)

    except ValueError:
        n = i

    print(f'character: {n} is {type(n)}')