如何在Python中显示字符串的前几个字符?

2024-04-25 12:04:36 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我刚开始学Python,但现在有点困了。

我有一个hash.txt文件,在MD5、Sha1和Sha5中分别包含数千个恶意软件哈希值,每行中用分隔符分隔。下面是我从.txt文件中提取的两行示例。

416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f 56a99a4205a4d6cab2dcae414a5670fd|612aeeeaa8aa432a7b96202847169ecae56b07ee|d17de7ca4c8f24ff49314f0f342dbe9243b10e9f3558c6193e2fd6bccb1be6d2

我的目的是显示前32个字符(MD5散列),以便输出如下所示:

416d76b8811b0ddae2fdad8f4721ddbe 56a99a4205a4d6cab2dcae414a5670fd

有什么想法吗?


Tags: 文件目的txt示例hashsha1md5分隔符
3条回答

如果需要字符串的前两个字母和后两个字母,则可以使用以下代码: name = "India" name[0:2]="In" names[-2:]="ia"

因为有一个分隔符,所以应该使用它,而不是担心md5有多长。

>>> s = "416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f"
>>> md5sum, delim, rest = s.partition('|')
>>> md5sum
'416d76b8811b0ddae2fdad8f4721ddbe'

或者

>>> md5sum, sha1sum, sha5sum = s.split('|')
>>> md5sum
'416d76b8811b0ddae2fdad8f4721ddbe'
>>> sha1sum
'd4f656ee006e248f2f3a8a93a8aec5868788b927'
>>> sha5sum
'12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f'

您可以非常容易地“切片”a string,就像从a list中提取项目一样:

a_string = 'This is a string'

要得到前4个字母:

first_four_letters = a_string[:4]
>>> 'This'

或者最后5个:

last_five_letters = a_string[-5:]
>>> 'string'

所以把这个逻辑应用到你的问题上:

the_string = '416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f '
first_32_chars = the_string[:32]
>>> 416d76b8811b0ddae2fdad8f4721ddbe

相关问题 更多 >