重新.sub挂起大文件中的文本.
大家好你们好.
为了教会自己Python的基础知识,我着手创建一个可以读取PHP文件的脚本,删除任何注释,然后将其保存到另一个位置.
除了...
我有这个re.sub tregex,旨在删除/* .. ../评论.
它在小文件上正常工作,但会导致Python挂在较大的文件上.
(总的来说,我的意思是超过20kb文件,有时包含数千行代码)
选择 | 换行 | 行号
- inFile = open(inPath + cfile)
- outFile = open(outPath + cfile, "w")
- inText = inFile.read()
- outText = re.sub("\/\*(.|\s)*\*\/", "", inText)
- outFile.write(outText)
- inFile.close()
- outFile.close()
运行此操作会导致Python悬挂,并且在关闭它时(CRL+C)这就是我得到的:
选择 | 换行 | 行号
- Traceback (most recent call last):
- File "./scandir.py", line 60, in <module>
- listdirrec(inPath, outPath)
- File "./scandir.py", line 44, in listdirrec
- listdirrec(inPath + entry +"/", outPath + entry +"/")
- File "./scandir.py", line 53, in listdirrec
- outText = re.sub("\/\*(.|\s)*\*\/", "", inText)
- File "/usr/lib/python2.5/re.py", line 150, in sub
- return _compile(pattern, 0).sub(repl, string, count)
- KeyboardInterrupt
我在Ubuntu 8.04上运行Python 2.5.2.
任何投入将不胜感激.
谢谢