python笔记: 运行方式和from import

初步学习python,简单写了个代码

def test():
  from . import main
  main.test()

if __name__ == '__main__':
  test()

第二句话,在直接运行的时候一直报错:

SystemError: Parent module '' not loaded, cannot perform relative import

网上的解释是需要用模块的方式来运行。可我就随便写个test,如何以模块的方式运行?纠结了半天,原来在这个文件的上一级目录,目录 名称就是模块的名称。

比如,我这个文件放在test目录下,则需要在上一级目录中,直接以下面的方式运行

python -m test

但如果以这种方式运行,则需要将程序的入口放在目录的__main__.py中。比如,上面的代码保存在test/__main__.py中。

或许,默认以这种方式运行的话,会更适合模块开发吧。