python关于__init__.py的疑惑与解答

“The utility of having __init__.py files in every test subdirectory of a project confused me for a long time. However, the difference between having these and not having these is simple. If you have __init__.py files in all of your test subdirectories, you can have the same test filename show up in multiple directories. If you don’t, you can’t. That’s it. That’s the effect on you.”

摘录来自: Brian Okken. “Python Testing with pytest。” 

 

我很早就接触过python,在学习,练习期间,__init__.py这个文件一直很让我疑惑--有啥用?

看视频,查百度,结果要么就是一种规范,不必钻牛角尖,要么是标识一个目录是package

单纯就是为了标识一个目录是package,也太浪费了吧,为此单独创建规定命名的文件?

 

今日有幸读到Brian Okken的 《Python Testing with pytest》终于明白了。简单翻译如下:

 

在测试子目录下的__init__.py文件的作用令我长久的感到疑惑,然而,存在__init__.py与否的区别很简单:

如果子目录下存在__init__.py,则不同的子目录下可以存在相同的文件名(./a/test.py    ./b/test.py)

如果子目录下不存在__init__.py,则不同的子目录下不可以存在命名相同的文件名。

 

posted @ 2020-06-18 23:25  dy20082250  阅读(270)  评论(0)    收藏  举报