我有以下文件结构
\n\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 test.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 sub\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 foo.py\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 bar.py\nRun Code Online (Sandbox Code Playgroud)\n\n使用测试.py:
\n\n# test.py\nfrom sub import foo\nfoo.test()\nRun Code Online (Sandbox Code Playgroud)\n\n和 foo.py:
\n\n# foo.py\nfrom . import bar\n\ndef test():\n bar.test()\nRun Code Online (Sandbox Code Playgroud)\n\n和 bar.py:
\n\n# bar.py\ndef test():\n print(\'This is a test\')\nRun Code Online (Sandbox Code Playgroud)\n\n从命令行调用 test.py 时效果很好。
\n\nhome/$ python test.py\nThis is a test\nRun Code Online (Sandbox Code Playgroud)\n\n现在我希望能够直接从命令行调用 foo.py 。所以我将 foo.py 更改为:
\n\n# foo.py\nfrom . import bar\n\ndef test():\n bar.test()\n\nif __name__ == \'__main__\':\n test()\nRun Code Online (Sandbox Code Playgroud)\n\n但是当我调用它时它不起作用
\n\n/home$ cd sub\n/home/sub$ python bar.py\nTraceback (most recent call last):\n …Run Code Online (Sandbox Code Playgroud)