Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中基于文件扩展名以编程方式确定编程语言_Python_Sorting_Programming Languages_File Extension - Fatal编程技术网

在python中基于文件扩展名以编程方式确定编程语言

在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包,并导入了它,只是在一组地图上进行了字典查找,对于任何感兴趣的人来说,这是我的解决方案

如果我有一组不同语言的随机文件源代码,是否有库或API可以将每个文件的文件扩展名传递到其中,以确定文件的语言,因此我可以根据语言类型组织这些文件?
我需要知道语言,我不能只按文件扩展名排序,使用一些模块,识别这个文件的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编写的,但是有一个我喜欢这个解决方案,但是我追求它,它只是没有我认为需要的那么广泛或覆盖范围。