国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

分析并輸出Python代碼依賴的庫的實現代碼

來源:懂視網 責編:小采 時間:2020-11-27 14:41:51
文檔

分析并輸出Python代碼依賴的庫的實現代碼

分析并輸出Python代碼依賴的庫的實現代碼:用法: 分析一個腳本的依賴: analysis_dependency.py script1.py 遞歸分析依賴: analysis_dependency.py script1.py -r #!/usr/bin/env python # encoding: utf-8 # source: https://github.com/MrLYC/
推薦度:
導讀分析并輸出Python代碼依賴的庫的實現代碼:用法: 分析一個腳本的依賴: analysis_dependency.py script1.py 遞歸分析依賴: analysis_dependency.py script1.py -r #!/usr/bin/env python # encoding: utf-8 # source: https://github.com/MrLYC/

用法:
分析一個腳本的依賴: 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

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

分析并輸出Python代碼依賴的庫的實現代碼

分析并輸出Python代碼依賴的庫的實現代碼:用法: 分析一個腳本的依賴: analysis_dependency.py script1.py 遞歸分析依賴: analysis_dependency.py script1.py -r #!/usr/bin/env python # encoding: utf-8 # source: https://github.com/MrLYC/
推薦度:
標簽: 代碼 源代碼 分析
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲情a成黄在线观看动 | 97日日碰人人模人人澡 | 国产成人精品日本亚洲语音1 | 黄色网站视频免费 | 欧美在线播放视频 | 日韩网址| 欧美日韩性视频在线 | 亚洲欧美另类色图 | 精品视频网站 | 91在线一区二区 | 欧美亚洲另类在线观看 | 亚洲v欧美v日韩v国产v | 久久久久久久国产高清 | 欧美网址在线观看 | 伊人中文网 | 精品视频一区二区三区 | 久久国产欧美日韩高清专区 | 91av欧美| 三级中文字幕电影大全 | 国产精品久久国产精麻豆99网站 | 久久久无码精品亚洲日韩按摩 | 国产亚洲欧美一区二区三区 | 一区二区三区成人 | 精品欧美一区二区在线观看欧美熟 | 国产91精品对白露脸全集观看 | 久久综合精品国产一区二区三区 | 国产精品视频一区二区三区不卡 | 国产午夜小视频 | 欧美精品观看 | 在线观看日韩视频 | 欧美韩日| 日韩亚洲第一页 | 久久免费精品国产72精品剧情 | 欧美伊人久久大香线蕉综合69 | 久久精品成人一区二区三区 | 久久91精品国产91久久户 | 国产精品久久久久久久专区 | 高清一区二区 | 国产不卡一区二区三区免费视 | 国产欧美一区二区三区精品 | 午夜日本一区二区三区 |