有没有办法自动检测一个文件是用哪种语言编写的,或者说“这个文件是20%C,30% python,50% shell”。一定有某种方法,因为Github的远程服务器似乎可以自动检测语言。此外,如果文件是语言的混合,那么设置文件扩展名的实际方法是什么,以便它表示文件中的那些语言。也许所有的文件在语言上都是同质的。我还在学习。另外,有没有办法在像Github这样的远程站点上自动检测代码库的字节。所以基本上就像Github的语言栏一样,只是栏显示了项目占用了多少字节。
发布于 2019-01-03 11:41:18
Linux上的file命令可以合理地猜测文件的语言,但基本上它只是查看文件的前几个字符,并将它们与已知情况进行比较:“如果文件以诸如此类的方式开头,那么它可能就是某某”。
至于包含"20% C,30% Python等“的文件--如果有这样的文件,您会怎么做?无论是C编译器还是Python编译器都不会满意它。
发布于 2018-09-06 14:52:30
我认为Github使用文件扩展名来决定代码是用什么语言编写的。
至于使用该语言自动检测文件扩展名,我认为您可以创建一个分类模型。
您必须创建一个大型数据集,其中包含许多不同语言的文件及其对应的标签(语言名称)。然后将训练数据馈送到神经网络(可能是RNN-LSTM)以训练模型。然后在新数据上使用该模型,根据代码预测语言。
我从来没有做过这样的事情。但这将是一个有趣的项目。
https://stackoverflow.com/questions/52197935
复制相似问题