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

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

 更新時間:2015年08月09日 18:17:30   投稿:mdxy-dxy  
這篇文章主要介紹了分析并輸出Python代碼依賴的庫的實(shí)現(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

相關(guān)文章

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

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

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

    python學(xué)習(xí)之SpaCy庫的高級特性詳解

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

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

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

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

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

    python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(10):webpy框架

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

    Python海象運(yùn)算符的用法教程

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

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

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

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

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

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

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

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

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

最新評論

额敏县| 云龙县| 雅江县| 芦山县| 永德县| 芦山县| 广平县| 吴江市| 绥化市| 沁水县| 盈江县| 青岛市| 东海县| 岚皋县| 留坝县| 宿州市| 彭山县| 大关县| 葫芦岛市| 酒泉市| 临夏市| 凉城县| 梨树县| 新龙县| 兰考县| 溧阳市| 甘谷县| 东阿县| 双城市| 三原县| 稷山县| 泰安市| 政和县| 江孜县| 宁国市| 铜山县| 麦盖提县| 祁门县| 会泽县| 广水市| 石屏县|