Skip to main content

未分类

快速获取英文

def get_az(start: str | int, end: str | int = None) -> str:
"""
获取英文字母

- param start :{str|int} 起始英文字母,如果输入数字,默认从A开始
- param end :{str|int} 结束的英文字母

@returns `{str}` {description}
@example
```py
# 获取A之后10个英文字母
res = get_az("A", 10)
>>> ABCDEFGHIJ

# 获取a到f的字母
res = get_az("a", 'f')
>>> abcde
```
"""
import string

AZ = string.ascii_uppercase
az = string.ascii_lowercase
ret = f"{AZ}{az}"

# 数字
if isinstance(start, int):
if isinstance(end, int) and end > start:
return ret[start:end]

return ret[start:]

# 传入字符串
elif isinstance(start, str):
start_num = ret.find(start[0])
if isinstance(end, str):
end_num = ret.find(end[0])
# 需要+1来修正确实到指定的end字符
return ret[start_num : end_num + 1]
elif isinstance(end, int):
return ret[start_num:end]
return ret[start_num:]

获取计算名称

# 获取计算机名,常用的方法有三种,但最常用的是第一种
import os
import socket

# method one
name = socket.gethostname()
print(name) # hanser

# method two
name = os.popen("hostname").read()
print(name) # hanser

# method three
name = os.environ.get("COMPUTERNAME")
print(name) # HANSER

获取内网IP

def get_inside_ip() -> str:
"""获取内网IP"""
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.connect(("8.8.8.8", 80))
ip = s.getsockname()[0]
return str(ip)

except Exception as e:
print("获取失败")
s.close()
return "127.0.0.1"

获取其它网站的ip

import socket

# 获取百度的ip
print(socket.gethostbyname("www.baidu.com")) # 61.135.169.121

获取MAC地址

import uuid

# 获取mac地址
addr_num = hex(uuid.getnode())[2:]
mac = "-".join(addr_num[i: i+2] for i in range(0, len(addr_num), 2))
print(mac) # 4c-ed-fb-bb-e6-ac

# 获取本机所有网卡的mac地址
from psutil import net_if_addrs
for k, v in net_if_addrs().items():
for item in v:
address = item[1]
if "-" in address and len(address)==17:
print(address)
'''
00-FF-47-53-F7-49
4C-ED-FB-BB-E6-AC
'''