Cin*_*gpi 0 python syntax error-handling mininet sdn
我在stackoverflow中经历了类似的问题,但找不到接近我的问题的答案.在最后一行之前的3行下面的代码给出错误 -
NameError: name '_name_' is not defined
我从大学实验室指南中复制了以下代码.不确定,代码是如何工作的.我们被告知要复制并粘贴本实验室并查看结果.但是,我们必须在命令行中输入所有代码而且我被卡住了.我怎么能在代码中修复这个错误?
#!/usr/bin/python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.util import dumpNodeConnections
from mininet.log import setLogLevel
class SingleSwitchTopo(Topo):
“Single switch connected to n hosts.”
def_init_(self,n=2,**opts):
#initialize topology and default options
Topo._init_(self,**opts)
switch=self.addSwitch(‘s1’)
#Python’s range(N) generates 0..N-1
for h in range(n):
host=self.addHost(‘h%s’%(h+1))
self.addLink(host,switch)
def simpleTest():
“Create and test a simple network”
topo=SingleSwitchTopo(n=4)
net=Mininet(topo)
net.start
print “Dumping host connections”
dumpNodeConnections(net.hosts)
print “Testing network connectivity”
net.pingAll()
net.stop()
if _name_==’_main_’:
#Tell mininet to print useful information
setLogLevel(‘info’)
simpleTest()
Run Code Online (Sandbox Code Playgroud)
Ana*_*mar 12
问题在于 -
if _name_==’_main_’:
Run Code Online (Sandbox Code Playgroud)
我的猜测是你有这条线,所以代码只在作为脚本运行时运行,而不是在导入时运行,如果是这样,你需要双方下划线name以及main.并且看起来像引号是错误的,你需要使用'.示例 -
if __name__=='__main__':
Run Code Online (Sandbox Code Playgroud)
小智 5
您需要两个下划线而不是一个:
if __name__ == "__main__"
Python直接执行它.如果省略它将执行从第0级压缩的所有代码.
| 归档时间: |
|
| 查看次数: |
21828 次 |
| 最近记录: |