You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Python文件的导入项列表?求推荐Python代码分析库

获取Python文件导入项的现成库及代码分析库推荐

一、实现导入项提取的现成方案

有现成工具可以实现你的需求,首推Python标准库中的ast模块——无需额外安装,通过解析代码的抽象语法树就能精准提取导入项。

用ast实现你要的foo函数示例:

import ast
import json

def foo(file_path):
    imports = {}
    with open(file_path, 'r', encoding='utf-8') as f:
        # 解析文件生成抽象语法树
        tree = ast.parse(f.read())
    
    # 遍历语法树节点,筛选ImportFrom类型的导入语句
    for node in ast.walk(tree):
        if isinstance(node, ast.ImportFrom):
            mod_name = node.module
            if mod_name not in imports:
                imports[mod_name] = []
            # 收集每个导入的别名/原名称
            for alias in node.names:
                imports[mod_name].append(alias.name)
    
    return {file_path: imports}

# 测试调用
result = foo("file1.py")
print(json.dumps(result, indent=4))

运行这段代码后,就能输出你指定格式的JSON结果。

二、推荐的Python代码分析库

  • ast(标准库):轻量无依赖,适合基础语法结构解析,除了提取导入,还能分析变量、函数、类等代码元素。
  • pycodestyle:主打代码风格检查,但其底层解析模块也能获取导入项、代码结构等信息,适合结合风格检查做分析。
  • pylint:功能全面的代码分析工具,能检测代码错误、规范问题,同时可提取所有代码结构(导入、类、函数等),适合深度代码审计。
  • radon:专注代码复杂度分析,附带代码结构解析能力,能快速提取导入、函数定义等信息。
  • parso:专门的Python语法解析库,对不同Python版本的兼容性更好,API更友好,适合需要处理多版本代码的场景。

内容的提问来源于stack exchange,提问作者mascai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 17:27:09