自动检测文件语言

时间:2018-09-06 06:40:48

标签: file programming-languages auto

有没有一种方法可以自动检测文件的编写语言,或者说“此文件是20%C,30%python,50%shell”。一定有办法,因为Github的远程服务器似乎可以自动检测语言。同样,如果文件是多种语言的混合,那么实际上是什么方式设置文件扩展名,以便它表示文件中的那些语言。也许文件在语言方面必须都是同质的。我还在学习。此外,还有一种方法可以在Github之类的远程站点上自动检测代码库的字节。因此,基本上就像Github的语言栏一样,但该栏显示了项目占用了多少字节。

2 个答案:

答案 0 :(得分:1)

Linux上的file命令在猜测文件的语言方面做了合理的工作,但基本上,它只是查看文件的第一个字符并将它们与已知情况进行比较:“如果文件以blah开头-等等-大概是这样。”

对于包含“ 20%C,30%Python等”的文件-如果有这样的文件,您将如何处理? C编译器和Python编译器都不会对它感到满意。

答案 1 :(得分:0)

我认为Github使用文件扩展名来确定代码所用的语言。

关于使用该语言自动检测文件扩展名,我想您可以创建一个分类模型。

您将必须创建一个大型数据集,其中包含许多使用不同语言的文件及其相应的标签(语言名称)。然后将训练数据输入神经网络(可能是RNN-LSTM)以训练模型。然后在新数据上使用该模型以根据代码预测语言。

我从来没有做过这样的事情。但这将是一个有趣的项目。