使用之前需要先導入:
from graph_tool.all import *
1、 建立乙個圖
有向圖:g = graph()
無向圖:ug = graph(directed=false)
或ug = graph()
ug.set_directed(false)
2、 建立節點:v1 =
g.add_vertex()
解釋:建立頂點,返回頂點描述符(頂點類的乙個例項),存放在v1中。
建立多個節點:vlist=g.add_vertex(10)
解釋:建立10個頂點,返回有10個頂點的描述符迭代器。
刪除節點:g.remove_vertex(v2)
獲取頂點的索引:print(g.vertex_index[v]) 或print int(v)
解釋:每個頂點在圖中有獨一無二的編號。
遍歷頂點:for v in g.vertices():
print(v)
獲得頂點描述符: v= g.vertex(8)
解釋:通過編號獲得頂點描述符。
查詢點的出度:print(v1.out_degree())
入度:print(v1.in_degree())
遍歷每個頂點的出入邊及出入鄰接節點:
for v ing.vertices():
'vertex%d\'s out_edges
'%g.vertex_index[v]
for e in
v.out_edges():
eprint
'vertex%d\'sout_neighbours
'%g.vertex_index[v]
for w in
v.out_neighbours():
print w
3、 建立邊:e = g.add_edge(v1, v2)
解釋:建立邊,返回邊描述符(邊類的乙個例項)
刪除邊:g.remove_edge(e)
獲取邊的索引:print(g.edge_index[e])
通過索引獲取邊描述符: e=g.edge(2,3)
遍歷邊:for e in e.edges():
print(e)
查詢邊的源頂點,目標頂點:print(e.source(),e.target())
4、 輸出到.pdf檔案:
graph_draw(g,vertex_text=g.vertex_index,vertex_font_size=18,output_size=(200,200),
output="8-nodes.pdf")
5、屬性對映:將額外的資訊新增到頂點或邊上
建立新的頂點對映,引數為型別
值'vertex1'通過頂點描述符g.vertex(10)來訪問。
vprop_string = self.g.new_vertex_property("string")
vprop_string [g.vertex(10)] = '
vertex1
'
為邊新增屬性:
eprop=g.new_edge_property("string")
g.edge_properties[
"sometime
"]=eprop
g.list_properties()
輸出》sometime (edge) (type:string)
內部屬性對映:任何被建立的屬性對映都可以被內建到圖中,通過在圖的類字典屬性中包含它們,這樣屬性對映就可以和圖一起被儲存。
記錄幾個**:
Pyython subprocess模組學習總結
從python 2.4開始,python引入subprocess模組來管理子程序,以取代一些舊模組的方法 如 os.system os.spawn os.popen popen2.commands.不但可以呼叫外部的命令作為子程序,而且可以連線到子程序的input output error管道,獲取...
Python subprocess模組的學習
1 用來生成子程序,並可以通過管道連線他們的輸入 輸出 錯誤,以及獲得他們的返回值。2 subprocess用來替換多個舊模組和函式 os.system 結果輸出到螢幕 os.spawn os.popen 結果儲存在記憶體中,用read 方法可讀取 popen2.commands.備註 執行pyth...
學驅動從模組開始
通用的makefile模板 ifeq kernelrelease kerneldir home lht kernel2.6 linux 2.6.14 kerneldir lib modules shell uname r build pwd shell pwd modules make c kern...