我已经在SO和其他地方查看了类似的问题,但是无法找出我的代码为什么失败,因此我必须在这里遗漏一些基本知识,但是我看不到这个问题。
我有一个名为testyfolder
的软件包,其中包含一个__init__.py
文件和另外两个简单的py文件funcy.py
和main.py
。
我不能从命令行运行它们吗?
错误回溯
C:\Users\...\python
>>>import testyfolder
>>>testyfolder.main()
AttributeError: module 'testyfolder' has no attribute 'main'
main.py
import funcy
if __name__ == "__main__":
funcy.town()
funcy.py
def town():
print(' this is funcy town')
def village():
print('this is funcy village')
有人知道我在做错什么是在阻止main.py
文件运行并调用funcy
文件吗?
似乎我必须进入main和funcy python文件所在的目录,并在命令行上输入“ python main.py”,这将运行main.py文件并按预期返回“ this is funcy town” '。
可以通过将shebang添加到main.py文件顶部来进一步改进,然后只需从命令行进入该文件夹并输入“ main.py”即可。