python怎么显示字符串,如何在Python中显示字符串的前几个字符?

这篇博客讨论了如何使用Python处理包含MD5、SHA1和SHA5散列的.txt文件,特别是如何提取并显示每个MD5散列的前32个字符。通过字符串切片和文件读取方法,实现了从每一行中分割出MD5哈希,并展示其前32个字符。示例代码展示了如何使用split()和切片操作来实现这一目标。
摘要由CSDN通过智能技术生成

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

我有一个hash.txt文件,在md5、sha1和sha5中分别包含数千个恶意软件散列,每行由分隔符分隔。下面是我从.txt文件中提取的两行示例。

416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f

56a99a4205a4d6cab2dcae414a5670fd|612aeeeaa8aa432a7b96202847169ecae56b07ee|d17de7ca4c8f24ff49314f0f342dbe9243b10e9f3558c6193e2fd6bccb1be6d2

我的目的是显示前32个字符(MD5哈希),因此输出将如下所示:

416d76b8811b0ddae2fdad8f4721ddbe 56a99a4205a4d6cab2dcae414a5670fd

有什么想法吗?

阅读这篇关于python的简介,然后向下滚动大约一半。""字符串切片"是您想要的。

the_string[:32]

字符串切片和如何打开文件,如果你还没有读过的话。

您可能还会对字符串的.split()和.strip()方法感兴趣。例如,md5, sha1, sha5 = line.strip().split("|")做了很多你能猜到的事情。

谢谢你们的评论,伙计们,我终于让它起作用了。我尝试了每一种方法,似乎Tankorsmash的作品对我来说是最方便的。我感谢每个人的帮助!

你可以很容易地"切"一个string,就像从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

_string.split("")[0]

@C&;sar:通常情况下,最好(更快)证明您只需要使用the_string.split('|', 1)[0]作为拆分字符串的第一部分。

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

>>> s ="416d76b8811b0ddae2fdad8f4721ddbe|d4f656ee006e248f2f3a8a93a8aec5868788b927|12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f"

>>> md5sum, delim, rest = s.partition('|')

>>> md5sum

'416d76b8811b0ddae2fdad8f4721ddbe'

替代地

>>> md5sum, sha1sum, sha5sum = s.split('|')

>>> md5sum

'416d76b8811b0ddae2fdad8f4721ddbe'

>>> sha1sum

'd4f656ee006e248f2f3a8a93a8aec5868788b927'

>>> sha5sum

'12a5f648928f8e0b5376d2cc07de8e4cbf9f7ccbadb97d898373f85f0a75c47f'

+1用于考虑可变长度哈希的分隔符内容:-)

谢谢!解决了:

如果需要字符串的前2个字母和后2个字母,则可以使用以下代码:name ="India"

name[0:2]="In"

names[-2:]="ia"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值