An awesome Python package
Project description
MxBoxUtils
MxBoxUtils 是一个Python工具库,提供了多种实用功能,包括文件操作、网络工具、TOML配置解析等功能。
目录结构
MxBoxUtils/
├── src/
│ ├── mx/ # 核心功能模块
│ │ ├── file.py # 文件操作工具
│ │ ├── image.py # 图像处理工具
│ │ ├── net.py # 网络相关工具
│ │ ├── pdf.py # PDF处理工具
│ │ └── toml.py # TOML配置文件解析工具
│ └── mxboxutils/ # 扩展功能模块
└── tests/ # 测试文件目录
功能模块
1. 文件操作 (file.py)
提供文件和目录操作相关的功能。
all_files(f_path: str, recursive: bool = False) -> list[str]
列出指定目录下的所有文件名。
- 参数:
f_path- 目录路径recursive- 是否递归扫描子目录,默认为False
- 返回值: 包含所有文件名的列表
all_images(f_path: str, f_ext: list[str], recursive: bool = False) -> list[str]
列出指定目录下的所有指定类型的图片文件。
- 参数:
f_path- 目录路径f_ext- 要匹配的文件扩展名列表(不包含点号)recursive- 是否递归扫描子目录,默认为False
- 返回值: 包含所有匹配文件的列表
2. 网络工具 (net.py)
提供网络相关功能,包括WiFi信息获取和局域网设备扫描。
get_wifi_networks() -> List[Dict[str, Any]]
获取所有可用WiFi热点信息(仅支持Windows系统)。
- 返回值: 包含WiFi热点信息的列表,每个字典包含以下键:
ssid: WiFi名称signal_strength: 信号强度(百分比)bssid: 接入点MAC地址channel: 信道号authentication: 认证方式encryption: 加密方式
get_local_network_devices() -> List[Dict[str, Any]]
获取本地局域网中的所有主机设备信息。
- 返回值: 包含局域网设备信息的列表,每个字典可能包含以下键:
ip_address: IP地址mac_address: MAC地址manufacturer: 设备制造商(如果可识别)hostname: 主机名(如果可解析)
辅助函数
get_local_ip() -> Optional[str]: 获取本地主机的IP地址get_local_network(local_ip: str) -> Optional[ipaddress.IPv4Network]: 根据本地IP地址确定局域网范围ping_host(ip: str) -> bool: Ping指定的IP地址,检查主机是否在线scan_network(network: ipaddress.IPv4Network, max_workers: int = 100) -> List[str]: 使用多线程ping扫描局域网中的所有主机get_mac_address(ip: str) -> Optional[str]: 获取指定IP地址的MAC地址get_hostname(ip: str) -> Optional[str]: 尝试通过IP地址解析主机名get_manufacturer_from_mac(mac: str) -> Optional[str]: 尝试从MAC地址获取设备制造商信息
3. TOML配置解析 (toml.py)
提供TOML配置文件解析功能。
get_toml_value(file_path: str | Path, key_path: str | list[str], default=None)
加载TOML文件并获取指定路径的值。
- 参数:
file_path- TOML文件的路径,可以是字符串或Path对象key_path- 要获取的值的键路径,可以是点分隔的字符串或键列表default- 如果键不存在时返回的默认值
- 返回值: 获取到的值或默认值
4. 图像处理 (image.py)
预留模块,暂无实现。
5. PDF处理 (pdf.py)
预留模块,暂无实现。
安装说明
# 从源代码安装
git clone [仓库地址]
cd MxBoxUtils
pip install -e .
版本信息
当前版本: 0.1.0
贡献
欢迎提交Issue和Pull Request来帮助改进这个项目。
许可证
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mxboxutils-0.1.0.tar.gz.
File metadata
- Download URL: mxboxutils-0.1.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b4e1833ca498101b6f5e3f8b83625351eea8872ed71d6bb9cc84376e895f71a
|
|
| MD5 |
34d879e6a2605e08fc903cb269b96f59
|
|
| BLAKE2b-256 |
ebef4082c17e06b45f24a42fbb7b9d29d44f266e42ad0252333949eb4e3d8e4b
|
File details
Details for the file mxboxutils-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mxboxutils-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0600d6080e2e765cb1d8cf4f7444ac2dff864c521f31e7cb06a4fa52b6992419
|
|
| MD5 |
ac28e03081aca306041c8208c75c340a
|
|
| BLAKE2b-256 |
4378fab2e0bf3be7452810c783d5eaa8bb91a8664b9bd58401d55befc085e4fe
|