本文目录导读:

Python 环境
获取所有已加载模块
import sys
# 方法1:通过 sys.modules
loaded_modules = list(sys.modules.keys())
print("已加载模块数量:", len(loaded_modules))
print("前10个模块:", loaded_modules[:10])
# 方法2:查看详细信息
for name, module in list(sys.modules.items())[:5]: # 只显示前5个
print(f"模块名: {name}, 类型: {type(module).__name__}")
获取特定类型的模块
import sys
import types
# 只获取用户定义的模块(非内置)
user_modules = [
name for name, mod in sys.modules.items()
if hasattr(mod, '__file__') and mod.__file__ is not None
]
print("用户模块:", user_modules)
Node.js 环境
获取所有已加载模块
// 方法1:通过 require.cache
const loadedModules = Object.keys(require.cache);
console.log("已加载模块:", loadedModules);
// 方法2:获取详细信息
for (const [id, module] of Object.entries(require.cache)) {
console.log(`模块ID: ${id}`);
console.log(`模块文件: ${module.filename}`);
console.log(`是否已加载: ${module.loaded}`);
}
获取模块树状结构
function getModuleTree() {
const moduleTree = {};
for (const [id, module] of Object.entries(require.cache)) {
const parts = id.split('/');
let current = moduleTree;
for (const part of parts) {
if (!current[part]) {
current[part] = {};
}
current = current[part];
}
}
return moduleTree;
}
console.log(JSON.stringify(getModuleTree(), null, 2));
PowerShell 环境
获取所有加载的模块
# 方法1:获取所有模块
Get-Module
# 方法2:获取详细列表
Get-Module | Select-Object Name, Version, ModuleType, ExportedCommands
# 方法3:获取已加载但未显式导入的模块(自动加载)
Get-Module -ListAvailable | Where-Object { $_.ModuleBase -like "*WindowsPowerShell*" }
获取加载的.NET程序集
[System.AppDomain]::CurrentDomain.GetAssemblies() |
Select-Object FullName, Location, IsDynamic
Ruby 环境
# 获取所有已加载的模块
loaded_features = $LOADED_FEATURES
puts "已加载文件数量: #{loaded_features.length}"
puts loaded_features.first(10) # 显示前10个
# 获取当前加载的Gem
require 'rubygems'
Gem.loaded_specs.each do |name, spec|
puts "#{name} (#{spec.version})"
end
通用脚本(跨平台)
#!/usr/bin/env python3
"""
跨平台模块检测脚本
"""
import sys
import os
def get_loaded_modules():
"""获取当前环境所有已加载模块"""
modules_info = {
'python': [],
'node': [],
'powershell': [],
'ruby': []
}
# Python
if 'python' in sys.executable or 'python3' in sys.executable:
for name, mod in sys.modules.items():
if mod:
modules_info['python'].append({
'name': name,
'file': getattr(mod, '__file__', None),
'version': getattr(mod, '__version__', None)
})
return modules_info
if __name__ == "__main__":
result = get_loaded_modules()
for env, modules in result.items():
if modules:
print(f"\n{env.upper()} 环境已加载模块:")
for mod in modules[:5]: # 只显示前5个
print(f" - {mod['name']} (v{mod['version'] or 'N/A'})")
注意事项
- 性能影响:获取所有模块可能会影响性能,建议只获取需要的部分
- 内存占用:大型项目可能有数千个模块,注意不要一次性全部加载到内存
- 安全考虑:某些环境可能限制访问模块信息(如浏览器环境中)
- 动态加载:有些模块是延迟加载的,可能不会在初始列表中显示
选择适合你具体环境的脚本即可,需要针对特定环境的详细用法说明吗?
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播