【问题标题】:Is there code scanning tool to tell Django project from a Flask project?是否有代码扫描工具可以将 Django 项目与 Flask 项目区分开来?
【发布时间】:2015-04-08 21:58:39
【问题描述】:

我想知道是否存在一些可以扫描代码库的工具,然后对“此代码是由 Django 构建的,还是由 Flask 或 Pylon 构建的?”给出一个自信的答案?或者“这段代码是从 Django 框架还是 Flask 框架开始的?”

谢谢,

【问题讨论】:

  • 你必须有多自信? Darth Vader 的解决方案(或类似 grep -r django * 的解决方案)将涵盖大多数情况,并且只会被少数开始作为一个但提及另一个的项目所愚弄。

标签: python code-analysis static-analysis static-code-analysis


【解决方案1】:

只是我从头顶上拼凑出来的东西:

import glob
import os
import sys

base = None

if sys.version.startswith('2'):
    from __future__ import print_function
    base = raw_input("Enter base dir: ")
else: 
    base = input("Enter base dir: ")

os.chdir(base)

for file in glob.glob("*.py"):
    with open(file, 'r') as current:
        for line in current.readlines()
            if line.startswith("import django"):
                print("%s uses django" % current.name)
            elif line.startswith("import flask"):
                print("%s uses flask" % current.name)
            else:
                print("%s does not use django or flask" % current.name)

【讨论】:

  • 这在import flask #so glad I don't have to type "import django" anymore! 上中断
  • @Kevin ermahgerd,很多人的代码中都必须有这样的注释!无论如何,我实际上对其进行了编辑以涵盖该场景。
  • 我并不是说这很常见。 :) 你仍然可能在多行字符串文字上失败,但我承认这种情况很少见,甚至不用费心。
猜你喜欢
  • 1970-01-01
  • 2014-10-16
  • 2015-12-13
  • 1970-01-01
  • 2019-03-26
  • 1970-01-01
  • 2020-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多