NameError: name '_name_' is not defined
NameError: name '_name_' is not defined
我已经在 Whosebug 中解决了类似的问题,但找不到接近我的问题的答案。在最后一行之前的第 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()
问题在行-
if _name_==’_main_’:
我猜你有那一行,这样代码只有 运行s 当 运行 作为脚本时,而不是在导入时,如果是这样,你需要在 [ 的两边加双下划线=12=] 以及 main
。看起来引号是错误的,您需要使用 '
。示例 -
if __name__=='__main__':
在
if _name_==’_main_’:
你没有用双下划线写代码,应该是下面这样
if __name__==’__main__’:
感谢您的上述回答,他们为我指出了错误,但尚不清楚。我已经通过回答我自己的问题说清楚了。
你需要两个下划线而不是一个:
if __name__ == "__main__"
Python 直接执行。如果省略它,它将从第 0 级缩进开始执行所有代码。
我已经在 Whosebug 中解决了类似的问题,但找不到接近我的问题的答案。在最后一行之前的第 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()
问题在行-
if _name_==’_main_’:
我猜你有那一行,这样代码只有 运行s 当 运行 作为脚本时,而不是在导入时,如果是这样,你需要在 [ 的两边加双下划线=12=] 以及 main
。看起来引号是错误的,您需要使用 '
。示例 -
if __name__=='__main__':
在
if _name_==’_main_’:
你没有用双下划线写代码,应该是下面这样
if __name__==’__main__’:
感谢您的上述回答,他们为我指出了错误,但尚不清楚。我已经通过回答我自己的问题说清楚了。
你需要两个下划线而不是一个:
if __name__ == "__main__"
Python 直接执行。如果省略它,它将从第 0 级缩进开始执行所有代码。