为了尝试一下python的正则表达式,我写了一个小程序命名为re.py,结果在运行的时候出了问题。根据错误提示到网上搜了一下也没有找到解决方法。最后还是自己明白过来了。原来re.py这个名字编译成字节码后是re.pyc,当在程序当中import re的时候,会首先在当前目录下寻找re.pyc,找到后就不会将/usr/local/lib/python2.5/里的re.pyc加载进来了。所以给源文件起名字应该避免和标准库重名。
但是python的库有很多,很难保证你起的名字就一定不会和它们中任何一个重名。所以我又写了个python程序来验证原文件名的合法性。 下面是源程序verify_py_name.py的代码: