我有两个文件,即包含类声明的misc.py和包含该类实例化的misc_main.py。
misc.py
:
#!/usr/bin/python
class dummy:
def __init__(self):
pass
def dummyPrint(self):
print "Welcome to Python!"
misc_main.py
:
from misc import dummy
dummyObj = dummy()
dummyObj.printDummy()
编译时如下
$python misc.py misc_main.py
我没有看到任何打印消息,即欢迎使用Python
我做错了什么?有没有更好的方法呢?
答案 0 :(得分:2)
您需要运行 misc_main.py
:
python misc_main.py
当你使用run misc.py misc_main.py
时,第二个参数只传递给sys.argv[1]
,它不告诉Python运行这两个脚本。
实际上,Python只运行misc.py
,它没有任何可以打印任何内容的顶级语句。另一方面,运行misc_main.py
而不是将导致Python在运行misc.py
时将from misc import dummy
文件作为模块查找。
Python在运行文件时透明地将Python文件编译为字节码。对于模块(例如此处为misc.py
),根据需要创建.pyc
字节码缓存文件。
答案 1 :(得分:0)
Python不是"编译需要" (实际上,它只是透明地编译Python),它需要只是解释所以你应该这样做;
python misc_main.py