我应该了解Python以识别不同源文件中的注释?

时间:2012-04-06 17:03:05

标签: python text-manipulation

我需要在给定目录中的不同类型的源文件中识别注释。 (例如java,XML,JavaScript,bash)。我决定使用Python(尝试学习Python)来做到这一点。我的问题是

1)我应该怎么知道python才能完成这项工作? (我有一个想法,正则表达式将是有用的,但有替代/其他模块将有用吗?我可以用来完成这个的库?)

2)Python是否是完成此类任务的不错选择?其他一些语言会让这更容易实现吗?

3 个答案:

答案 0 :(得分:5)

您的问题似乎与编程语言解析更相关。我相信使用正则表达式,您将能够在大多数语言中找到评论。好处是几乎无处不在的正则表达式:Perl,Python,Ruby,AWK,Sed等。

但是,正如另一个答案所说,你最好使用一些解析机制。而且,如果不是一个完整的解析器,一个词法分析器。对于Python,请查看Pygments库,该库具有已实现的许多语言的词法分析器。

答案 1 :(得分:2)

1)你需要知道的是解析,而不是正则表达式。此外,您将需要os模块和一些有关pythons文件处理的知识。 DiveIntoPython(http://www.diveintopython.net/)是一个很好的开始。我建议第6章。(也许1-5也是:))

2)Python是一个好的开始。另一种语言不会让它更容易,但会有所不同。 Python allready起初非常简单。

我建议不要将正则表达式用于您的任务,因为它就像搜索注释符号和换行符一样简单。

答案 2 :(得分:2)

pyparsing模块直接支持多种注释样式。例如,

from pyparsing import javaStyleComment
for match in javaStyleComment.scanString(text):
    <do stuff>

因此,如果您的目标只是完成工作,请查看此内容,因为评论解析器可能比您放在一起的任何内容都更强大。如果你对自己学习更感兴趣,可能会根据你的口味加工过多的食物。