You should specify both the edges and the widths in nx.draw_networkx_edges().
e.g. use below
>>> width = nx.get_edge_attributes(G, 'width')
and
>>> nx.draw_networkx_edges(G,pos, edgelist=width.keys(), width=width.values())
>
> import matplotlib.pyplot as plt
> import networkx as nx
>
> G=nx.read_gml('Test_graph.gml');
> X=nx.get_node_attributes(G, 'X').values()
> Y=nx.get_node_attributes(G, 'Y').values()
> Z=nx.get_node_attributes(G, 'Z').values()
>
> pos={}
> Nnode=len(X)
> for node in range(0,Nnode):
> pos[node+1]=[X[node],Y[node]]
>
> n_dr = nx.get_node_attributes(G, 'sahd_dr').values()
> e_width = nx.get_edge_attributes(G, 'width').values()
>
> Lab = nx.get_node_attributes(G, 'name').values()
> Label = {}
> for node in range(0,Nnode):
> Label[node+1] = Lab[node]
>
> nx.draw_networkx_nodes(G,pos, node_size=n_dr)
> nx.draw_networkx_edges(G,pos, width=e_width)
> nx.draw_networkx_labels(G, pos, labels=Label)
>
> plt.show()
Aric