在python中基于文件扩展名以编程方式确定编程语言
如果我有一组不同语言的随机文件源代码,是否有库或API可以将每个文件的文件扩展名传递到其中,以确定文件的语言,因此我可以根据语言类型组织这些文件?在python中基于文件扩展名以编程方式确定编程语言,python,sorting,programming-languages,file-extension,Python,Sorting,Programming Languages,File Extension,如果我有一组不同语言的随机文件源代码,是否有库或API可以将每个文件的文件扩展名传递到其中,以确定文件的语言,因此我可以根据语言类型组织这些文件? 我需要知道语言,我不能只按文件扩展名排序,使用一些模块,识别这个文件的mime类型。 您还可以按脚本中的第一行对其进行排序 e、 g/bin/python/bin/sh,…,如果使用的话。我最终使用Github的语言学家YAML map的JSON翻译版本作为NPM包,并导入了它,只是在一组地图上进行了字典查找,对于任何感兴趣的人来说,这是我的解决方案
我需要知道语言,我不能只按文件扩展名排序,使用一些模块,识别这个文件的mime类型。 您还可以按脚本中的第一行对其进行排序 e、 g/bin/python/bin/sh,…,如果使用的话。我最终使用Github的语言学家YAML map的JSON翻译版本作为NPM包,并导入了它,只是在一组地图上进行了字典查找,对于任何感兴趣的人来说,这是我的解决方案中值得信赖的部分:
language_results = list(map(
lambda file_args: file_args[0] if file_extension in list(map(
lambda i: i, file_args[1].get("extensions", []))) else None, language_map.items()))
language_results = list(filter(None, language_results))
return language_results[0] if len(language_results) > 0 else None
您可能很容易自己实现它。您可以按文件扩展名排序。例如,如果你有file.py,你从文件扩展名知道它是python文件。好吧,我不能控制我的输入文件,否则,我同意这对我来说是很容易推断的,我想我可能有一个用Githubs语言工具的解决方案,它是用Ruby编写的,但是有一个我喜欢这个解决方案,但是我追求它,它只是没有我认为需要的那么广泛或覆盖范围。