分析源代码目录的内容并确定正在使用的编程语言。

whodis的Python项目详细描述


世界卫生组织

分析源代码目录的内容并确定正在使用的编程语言。

支持的语言:

  • 前进
  • Java
  • javascript
  • Python
  • 红宝石

用法

从pypi安装:

pipinstallwhodis

导入模块并创建whodis的新实例:

fromwhodisimportWhoDisblah=WhoDis()

whodis对象有一个方法parse(),它接受一个filepath(string)参数:

blah.parse("/some/valid/path/with/source/code")

在用支持的语言分析至少一个文件的有效路径后,对象将具有四个属性:

# language - The dominant programming language in the source path.# String.# Possible string values are "go", "java", "js", "py", "rb".blah.language>>>"py"# all_languages - All languages present in the source path.# List of strings.# Possible list values are "go", "java", "js", "py", "rb".blah.all_languages>>>["rb","js"]# files - All non-filtered files in the source path.# List of strings.blah.files>>>["__init__.py","main.py","README.md","LICENSE.md","requirements.txt"]# files_by_language - All non-filtered files in the source path broken down by language.# Dictionary with strings for keys and lists of strings for values.# Possible key names are "go", "java", "js", "py", "rb".blah.files_by_language>>>{"rb":["application_controller.rb","model.rb"],"js":["app.js"]}

常见问题

一。谁是怎么工作的?

谁很天真。它将递归地查找路径中的所有文件,过滤掉某些目录(例如g it、构建/打包、虚拟环境等),查看返回文件的文件扩展名,并按扩展名(例如py)对它们进行分组。然后whodis会查看哪种语言拥有最多的文件,并将其视为路径中源代码的主导语言。

2.什么被过滤掉了?为什么过滤?

请查看*\u filters.py文件,这应该很容易理解。被过滤的文件位于通常与版本控制、构建/打包和虚拟环境等相关联的目录中。过滤的原因是1)加速whodis(例如,一个大的.git会让我们慢很多),2)这些目录通常包含与确定所使用的编程语言无关/多余的文件。简而言之,过滤后的文件不应该影响whodis的解析。

三。为什么只支持go、java、javascript、python和ruby?

我编写了whodis用于与aws lambda交互的另一个项目。这些语言都是由lambda本地支持的。如果你想获得额外的语言支持,请随时打开一个公关!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何反射地迭代数组字段?   java NamedQuery错误“具有给定标识符的多行:1”   java无法使用单独类中的计时器更新TextView   兼容性什么时候可以很快使用新的Java功能?   java二叉树路径和   java矩形的性能   java我想从同一个子表在主表中添加两个外键   java如何获取基于特定日期的所有数据?   java javafx、OO编程规则和写入变量类型的选择   java使用带枚举的switch语句   java异步任务生成运行时异常   java为什么JLabel不显示下划线字符?   java如何解析具有可变参数号的函数?   带有按钮的java JavaFX自定义列表单元格:未调用处理程序   java Modelmapper无法映射整个模型?   传递给持久化的java分离实体,包含LatLng列表