2013-03-12 120 views
0

我是Python新手(这是我的第二语言),所以希望我的问题可以帮助别人也在类似的事情上挣扎。在For循环中的名称未定义错误?

仅供参考,我使用Netbeans IDE 6.9.1并运行Python 2.7.3。有点背景故事,我正在研究论文的交通问题,我需要生成城市(节点)和道路(弧)的网络。我在下面的代码中做的是生成一个字符串,我将它传递给一个打开的(文件,'w')操作,在这里我将随机生成的数据写入文本文件。

例如:FNodes = '\ DijkstraShortestPath \数据\ 100Nodes \ Node5.txt'

总是收到一个 “名 'Fnodes' 没有定义” 错误,当我下面运行该代码。

我花了数小时试图弄清楚这一点;不应该这样定义?毕竟,我写过“FNodes = bla bla bla”。

我试着将它从循环中取出,但由于它们在FNodes字符串中使用,导致与'item'和'replications'相同的错误。这是有道理的,因为它们是在for循环中定义的。

如果你能帮助一个新人理解这个语法错误,那会很棒。

感谢您的帮助。

R = 10 #Number of replications (trials) 
NumNodes = [50,100,150] #Number of nodes (cities). Also the names of 3 folders. 

for item in NumNodes: #Cycle through 50, 100, 150 nodes for folder path XXXNodes 

    for replications in range(R): #Cycle through fileR.txt by replication number 

     fNodes = "\\DijkstraShortestPath\\Data\\" + str(item) + "Nodes\\Node" \ 
     + str(replications + 1) + ".txt" 

     print FNodes #This is a debugging step for me so I can see what's happening 

     #Write to files and stuff... 
+1

我想知道为什么你不显示引发异常的实际代码。 “打开”电话在哪里?请展开您的代码段。顺便说一下,如果你的路径是相对的,它可能不应该以斜杠开始。 – 2013-03-12 19:29:55

+0

我注意到了错误 - 当我实际定义了fNodes时,我试图引用FNodes。大写错误。 “相对”路径是什么意思? – Chris 2013-03-14 04:05:00

+0

相对路径显示相对于当前目录的文件位置。绝对路径从文件系统树的根开始。 – 2013-03-14 07:14:49

回答

0

我注意到了错误,并能够继续前进。

这是一个大写错误;打印FNodes应该已经打印fNodes