我有一个字符串 [2409:8c54:871:3002::1e]:8080 ,我想用python提取最后一个“:”将字符串分隔,该怎么做
时间: 2024-01-09 20:04:25 浏览: 98
可以使用字符串的 `rsplit()` 方法来实现这个需求。具体实现代码如下:
```python
s = "[2409:8c54:871:3002::1e]:8080"
result = s.rsplit(":", 1)
print(result)
```
输出结果为:`['[2409:8c54:871:3002::1e]', '8080']`。
这里的 `rsplit()` 方法表示从右往左分割字符串,第二个参数 `1` 表示只分割一次,即只分割最后一个 `:`。这样就可以得到一个列表,列表中包含两个元素,第一个元素为字符串 `[2409:8c54:871:3002::1e]`,第二个元素为字符串 `8080`。
相关问题
python uuid
UUID(Universally Unique Identifier)是Python内置的一个用于生成唯一标识符的模块,可以生成符合RFC4122标准的 UUID,包括UUID1(基于主机和时间戳)、UUID2(基于DCE安全性)、UUID3(基于命名空间和MD5散列值)、UUID4(随机UUID)和UUID5(基于命名空间和SHA-1散列值)。
在Python中使用UUID模块,需要先导入该模块:
```python
import uuid
```
然后,可以使用UUID模块提供的各种方法生成不同类型的UUID,例如:
```python
# 生成随机UUID
print(uuid.uuid4())
# 生成基于命名空间和MD5散列值的UUID
namespace = uuid.UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8')
name = 'test'
print(uuid.uuid3(namespace, name))
# 生成基于命名空间和SHA-1散列值的UUID
namespace = uuid.UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8')
name = 'test'
print(uuid.uuid5(namespace, name))
```
输出结果如下:
```
6d7f3c73-9e9c-408d-b7c5-8d6f55c5d6ec
e4eaa3c9-5e7e-3b3e-9c6d-3a8c0a3d8e33
8f9957d6-8f05-5f1e-9e9e-1f9a4f36a6bb
```
其中,UUID对象可以使用str()方法转换为字符串,也可以使用bytes()方法转换为字节串。
python 用国三加密解密代码
国密(SM2、SM3、SM4)是中国自主研发的密码算法标准。以下是一个使用Python进行国密加密解密的示例代码:
首先,需要安装`gmssl`库,它提供了国密算法的实现。你可以使用以下命令来安装它:
```
pip install gmssl
```
接下来,我们将给出一个使用SM2进行加密解密的示例代码:
```python
from gmssl import sm2, func
# 生成SM2密钥对
private_key = '7B8D92E5C6C8B0F9A2CFD2E3E4E6E8EA9FA4A7A9BDC0D3D6D9DCDEE1E4E7EA'
public_key = '04A7F4427940CFF9AFFF07FCFF8414D20B186C9F94A181E16AD7F6A26F320BCE4C8C22CDB8ACF5EE5AA42F9C7CE6A6BA31D1D32B8F3A9A60A489C8972FCA5C0E'
# 加密
def encrypt(message):
sm2_crypt = sm2.CryptSM2(public_key=public_key, private_key=private_key)
enc_data = sm2_crypt.encrypt(message.encode())
return enc_data.hex()
# 解密
def decrypt(encrypted_data):
sm2_crypt = sm2.CryptSM2(public_key=public_key, private_key=private_key)
dec_data = sm2_crypt.decrypt(bytes.fromhex(encrypted_data))
return dec_data.decode()
# 测试加密解密
message = 'Hello, World!'
encrypted_message = encrypt(message)
decrypted_message = decrypt(encrypted_message)
print('加密后的消息:', encrypted_message)
print('解密后的消息:', decrypted_message)
```
在上面的代码中,我们首先生成了一个SM2密钥对,然后定义了`encrypt`和`decrypt`函数来进行加密和解密。`encrypt`函数使用公钥对消息进行加密,返回加密后的十六进制字符串。`decrypt`函数使用私钥对加密数据进行解密,返回解密后的原始消息。
请注意,示例代码中使用的密钥对是固定的,你可能需要根据实际情况替换为自己的密钥对。
希望这能帮助到你!如果还有其他问题,请随时提问。
阅读全文