int()的基数为10的无效文字:'import'

时间:2014-07-20 23:04:09

标签: python-2.7 networkx

我想通过将矩阵作为文件夹的输入在networkx中绘制图形,但是我得到这个错误“第29行无效文字的int()与基数10:'import”我是一个初学者python真的很感谢我的代码是

# you can change the target folder here
dir_list =  os.listdir("data")
new_dir_list = []
for s in dir_list:
if s[0]!=".":
    new_dir_list.append(s)
dir_list = new_dir_list


print "The files to be read ", dir_list
graphs = {}
'''
Reading all the files and storing them in a dictionary
'''
for s in dir_list:
    print "Reading", s
    f = open('data/'+s,'r')
    #f = csv.reader(open('data/'+item,'r'), delimiter=' ', quotechar='"')
    f = csv.reader(open('data/'+s,'r'), delimiter=' ', quotechar='"')
    lines= list(f)
    g = nx.Graph()
    #g = nx.DiGraph()
    g.add_nodes_from(range(len(lines)))

    for row in range(len(lines)):
        for col in range(len(lines)):
           if int(lines[row][col]) == 1:
                g.add_edge(row,col) 
    print "Done reading all the files"  
    graphs[s] = g 
nx.draw(g)  
plt.show() 

1 个答案:

答案 0 :(得分:0)

错误"基数为10的int()的无效文字:' import'"对于带有基数10的int(),"无效的文字:' [[0'"基本上是在说同样的话。

你赋予int()函数的值 - 在前一种情况下是' import',在后一种情况下是' [[0' - 无法转换为整数。因为它显然不是整数文字

问题在于您的某些文件的内容。正如Rafael Barros所说,你目录中的一个文件可能是.py文件。我会打印文件名,以及循环中行的行和列。这样您就可以找到导致问题的文件和位置。

有关详细信息,请参阅documentation of int() function