这是GraphWave中的代码:
width_basis = 15
nbTrials = 20
### 1. Choose the basis (cycle, torus or chain)
basis_type = "cycle"
### 2. Add the shapes
n_shapes = 5 ## numbers of shapes to add
#shape=["fan",6] ## shapes and their associated required parameters (nb of edges for the star, etc)
#shape=["star",6]
list_shapes = [["house"]] * n_shapes
### 3. Give a name to the graph
identifier = 'AA' ## just a name to distinguish between different trials
name_graph = 'houses'+ identifier
sb.set_style('white')
add_edges = 0
G, communities, _ , role_id = build_graph.build_structure(width_basis, basis_type, list_shapes, start=0,
add_random_edges=add_edges, plot=True,
savefig=False)
build_structure函数:
def build_structure(width_basis, basis_type, list_shapes, start=0,
rdm_basis_plugins=False, add_random_edges=0,
plot=False, savefig=False):
basis, role_id = eval(basis_type)(start, width_basis)
eval()()时出错:
名称'cycle'未定义。
当我看到源代码时,eval函数是eval()。 eval()()的含义是什么?如何解决此错误?
答案 0 :(得分:0)
我在相同的库中解决了相同的问题:
首先,请注意该库支持python 2.7,而不是像标记一样支持3.x。
我更改了代码以支持python 3.5,以及项目文件的层次结构,并且对我有用。
此外,为了更好的实践,我删除了“ eval”部分,并改用了字典,就像评论中建议的@Martijn Pieters。