最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分析并輸出Python代碼依賴的庫的實現(xiàn)代碼

 更新時間:2015年08月09日 18:17:30   投稿:mdxy-dxy  
這篇文章主要介紹了分析并輸出Python代碼依賴的庫的實現(xiàn)代碼,需要的朋友可以參考下

用法:
分析一個腳本的依賴: analysis_dependency.py script1.py
遞歸分析依賴: analysis_dependency.py script1.py -r

#!/usr/bin/env python
# encoding: utf-8
# source: https://github.com/MrLYC/ycyc/blob/dev/tools/analysis_dependency.py

import ast
import importlib
import inspect


class Analysis(ast.NodeTransformer):
 def __init__(self, paths, recursion):
 self.modules = list()
 self.paths = list(paths)
 self.recursion = recursion

 def add_module(self, module):
 if module and module not in self.modules:
self.modules.append(module)
 if self.recursion:
try:
 path = inspect.getsourcefile(importlib.import_module(module))
 if path:
self.paths.append(path)
except:
pass

 def visit_Import(self, node):
 for i in node.names:
self.add_module(i.name)

 def visit_ImportFrom(self, node):
self.add_module(node.module)

 def analysis(self):
 for p in self.paths:
try:
 with open(p,"rt") as fp:
 self.visit(ast.parse(fp.read(), p))
except:
pass
 return tuple(self.modules)

if __name__ =="__main__":
 import argparse

 parser = argparse.ArgumentParser()
 parser.add_argument("paths", nargs="+")
 parser.add_argument("-r","--recursion", action="store_true", default=False)
 args = parser.parse_args()

 analysisor = Analysis(args.paths, args.recursion)
 for m in analysisor.analysis():
 print m

相關文章

  • Python操作Excel文件的11種方法(全網(wǎng)最全)

    Python操作Excel文件的11種方法(全網(wǎng)最全)

    在日常工作或開發(fā)過程中,Excel文件作為一種常用的數(shù)據(jù)存儲格式,其高效便捷的數(shù)據(jù)處理能力被廣泛應用于數(shù)據(jù)統(tǒng)計、數(shù)據(jù)分析等領域,Python作為一種強大的編程語言,提供了豐富的庫支持來實現(xiàn)對Excel文件的操作,本篇將詳細介紹如何使用Python來操作Excel文件
    2025-03-03
  • python學習之SpaCy庫的高級特性詳解

    python學習之SpaCy庫的高級特性詳解

    在之前的文章中,我們介紹了SpaCy庫的一些基本概念和功能,在這篇文章中,我們將深入學習一些更高級的特性,包括詞向量、依賴性解析、和自定義組件
    2023-07-07
  • 教你用Django將前端的數(shù)據(jù)存入Mysql數(shù)據(jù)庫

    教你用Django將前端的數(shù)據(jù)存入Mysql數(shù)據(jù)庫

    這篇文章主要給大家介紹了關于如何用Django將前端的數(shù)據(jù)存入Mysql數(shù)據(jù)庫的相關資料,文中通過圖文以及示例代碼介紹的非常詳細,對大家學習或者使用Django具有一定的參考學習價值,需要的朋友可以參考下
    2021-11-11
  • Python網(wǎng)絡請求使用Requests庫抓取解析數(shù)據(jù)

    Python網(wǎng)絡請求使用Requests庫抓取解析數(shù)據(jù)

    在網(wǎng)絡編程中,請求和接收數(shù)據(jù)是最常見的任務之一,Python的Requests庫提供了豐富的功能,使得HTTP請求變得非常簡單,在本文中,我們將了解如何使用Requests庫發(fā)起HTTP請求,并解析返回的數(shù)據(jù)
    2023-08-08
  • python網(wǎng)絡編程學習筆記(10):webpy框架

    python網(wǎng)絡編程學習筆記(10):webpy框架

    webpy小巧,簡單,實用,可以快速的完成簡單的web頁面。這里根據(jù)webpy Cookbook簡要的介紹一下webpy框架,需要的朋友可以參考下
    2014-06-06
  • Python海象運算符的用法教程

    Python海象運算符的用法教程

    Python 海象運算符是在 PEP 572 中提出,并在 Python3.8 版本并入和發(fā)布。本文就來為大家詳細講講Python海象運算符的用法,感興趣的可以了解一下
    2022-07-07
  • python實現(xiàn)簡易SSL的項目實踐

    python實現(xiàn)簡易SSL的項目實踐

    本文主要介紹了python實現(xiàn)簡易SSL的項目實踐,包括CA.py、server.py和client.py三個模塊,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02
  • Python獲取本機所有網(wǎng)卡ip,掩碼和廣播地址實例代碼

    Python獲取本機所有網(wǎng)卡ip,掩碼和廣播地址實例代碼

    這篇文章主要介紹了Python獲取本機所有網(wǎng)卡ip,掩碼和廣播地址實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python使用multiprocessing創(chuàng)建進程的方法

    Python使用multiprocessing創(chuàng)建進程的方法

    這篇文章主要介紹了Python使用multiprocessing創(chuàng)建進程的方法,實例分析了multiprocessing模塊操作進程的相關技巧,需要的朋友可以參考下
    2015-06-06
  • python實現(xiàn)公司年會抽獎程序

    python實現(xiàn)公司年會抽獎程序

    這篇文章主要為大家詳細介紹了python實現(xiàn)公司年會抽獎程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論

连城县| 博罗县| 胶南市| 刚察县| 金湖县| 宜州市| 财经| 阿拉善盟| 祁阳县| 五家渠市| 新兴县| 东方市| 榆中县| 商都县| 怀柔区| 天镇县| 久治县| 中西区| 拉萨市| 西和县| 昆明市| 海口市| 松阳县| 沙洋县| 霍山县| 镇安县| 阿拉善右旗| 高雄市| 仙桃市| SHOW| 东乡族自治县| 丹棱县| 嘉鱼县| 互助| 团风县| 新竹县| 万荣县| 虞城县| 凤翔县| 海门市| 荣昌县|