2014-02-14 55 views
1

我正試圖用python創建一個monetdb數據庫。數據庫在開始時不存在:代碼應該創建它指定的端口,該文件夾將位於db名稱&。 我可以很好地清楚所有的例子,假設數據庫已經存在。 在某些方面,這應該與moneddbd deamon通常管理的操作類似。 如何從頭開始在python中設置(新)monetdb db?如何在Python中從頭開始設置(新)monetdb數據庫?

+0

我不知道任何人的自動創建的蝙蝠文件內的蟒蛇。它已經在R中自動化了,但是 - 查看R代碼,運行'library(MonetDB.R); monetdb.server.setup'來構建數據庫,然後運行'?monetdb.server.start'來啓動服務器。 –

+0

我完全意識到R庫MonetDB.R,事實上我有一個關於它的stackoverflow的問題(請參閱http://stackoverflow.com/questions/21779280/csv-load-error-with-monetdb-r/21781080?noredirect = 1個#comment32980814_21781080)。我正在考慮使用python作爲替代方案... – Enzo

+0

我看到了;)在windows上,您只需要編寫bat文件的文本。在非Windows上,我相信這些命令更加簡單。 'monetdb.server.setup'應該給你你需要的一切 –

回答

2

一種方式來做到這一點是:

import monetdb.control 

control=control.Control(port=port,passphrase=None) 
control.create(database) 
control.release(database) 

另一種方法(我的方式):

import subprocess 

farm_path="/home/me/..." 
database_name="test" 
subprocess.call("monetdbd create "+farm_path,shell=True,executable="/bin/bash") 
subprocess.call("monetdbd start "+farm_path,shell=True,executable="/bin/bash") 
subprocess.call("monetdb create "+database_name,shell=True,executable="/bin/bash") 
subprocess.call("monetdb release "+database_name,shell=True,executable="/bin/bash") 

如果你想要更多的詳細的代碼,讓我知道。