py-tcdb.CTYPES¸¦ »ç¿ëÇÏ´Â Tokyo ijºñ´Ö µ¥ÀÌÅͺ£À̽ºÀÇ ÆÄÀ̽㠷¡ÆÛ | |
Áö±Ý ´Ù¿î·Îµå |
py-tcdb. ¼øÀ§ ¹× ¿ä¾à
±¤°í
- ƯÇã:
- LGPL
- °¡°Ý:
- FREE
- °Ô½ÃÀÚ À̸§:
- Alberto Planas
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://code.google.com/u/aplanas/
py-tcdb. ű×
py-tcdb. ¼³¸í
CTYPES¸¦ »ç¿ëÇÏ¿© Tokyo ijºñ´Ö µ¥ÀÌÅͺ£À̽ºÀÇ ÆÄÀ̽㠷¡ÆÛ µµÄì ijºñ´ÖÀº DBM µ¥ÀÌÅͺ£À̽ºÀÇ Çö´ëÀûÀÎ ±¸ÇöÀÔ´Ï´Ù. Mikio Hirabayashi (µµÄì ijºñ´ÖÀÇ ÀúÀÚ)´Â ÇÁ·ÎÁ§Æ®¸¦ ¼³¸íÇÕ´Ï´Ù : Tokyo CabinetÀº µ¥ÀÌÅͺ£À̽º¸¦ °ü¸®ÇϱâÀ§ÇÑ ·çƾ ¶óÀ̺귯¸®ÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º´Â ·¹Äڵ尡 Æ÷ÇÔ µÈ °£´ÜÇÑ µ¥ÀÌÅÍ ÆÄÀÏÀÌ¸ç °¢°¢ÀÇ Å°¿Í °ªÀÇ ½ÖÀÔ´Ï´Ù. ¸ðµç Å°¿Í °ªÀº °¡º¯ ±æÀÌ°¡ÀÖ´Â Á÷·Ä ¹ÙÀÌÆ®ÀÔ´Ï´Ù. ÀÌÁø µ¥ÀÌÅÍ¿Í ¹®ÀÚ¿Àº ¸ðµÎ Å°¿Í °ªÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ Å×À̺íÀ̳ª µ¥ÀÌÅÍ À¯ÇüÀÇ °³³äÀÌ ¾ø½À´Ï´Ù. ±â·ÏÀº Çؽà Å×À̺í, B + Æ®¸® ¶Ç´Â °íÁ¤ ±æÀÌÀÇ Array.py-TCDB°¡ CTYPES Python ¸ðµâÀ» »ç¿ëÇÏ¿© ¶óÀ̺귯¸®¿¡ ´ëÇÑ ÆÄÀ̽ã ÀÎÅÍÆäÀ̽ºÀ̸ç TC ÇÔ¼ö¿¡ ´ëÇÑ µÎ ¼öÁØÀÇ ¾×¼¼½º¸¦ Á¦°øÇÕ´Ï´Ù. ³·Àº ¼öÁØ APIWE´Â TC ¸ðµâÀ» Á÷Á¢ »ç¿ëÇÏ¿© TC ¶óÀ̺귯¸®¿Í ÀÎÅÍÆäÀ̽º ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸ðµâÀº ¸ðµç ÇÔ¼ö ¹× µ¥ÀÌÅÍ À¯ÇüÀ» ¼±¾ðÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, HDB (Çؽà µ¥ÀÌÅͺ£À̽º ¿ÀºêÁ§Æ®)¸¦ ÀÛ¼ºÇÏ·Á´Â °æ¿ì TCDB Import TC¿¡¼ TC.HDB_OPEN (DB, 'example.tch', HDB.OWRITER | HDB.CREAT) TC.HDB_ERRMSG (TC.HDB_ECODE (DB)) tc.hdb_put2 (db, 'Å°', '°ª') : tc.hdb_errmsg (tc.hdb_ecode (db)) v = tc.hdb_get2 (db, ') Å° ') Àμâ'°ª : ', V.ValueThe ·Î¿ì ·¹º§ API´Â CTYPES À¯Çü (¿¹ : C_Char_P ¶Ç´Â C_INT)°ú ÇÔ²² ÀÛµ¿ÇÕ´Ï´Ù (C_CHAR_P ¶Ç´Â C_INT) .High Level Apifor TC¿¡¼ Çã¿ë µÈ °¢ Á¾·ùÀÇ µ¥ÀÌÅͺ£À̽º À¯ÇüÀº ¸ðµç ±â´ÉÀ» ĸ½¶ÈÇÏ´Â ÆÄÀ̽ã Ŭ·¡½º°¡ ÀÖ½À´Ï´Ù. ¸ðµç Ŭ·¡½º¿¡ ´ëÇØ BSDDB Python ¸ðµâ ÀÎÅÍÆäÀ̽º¸¦ ¿¡¹Ä·¹ÀÌÆ®ÇÏ·Á°íÇÕ´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º´Â Áö¼Ó¼ºÀÌÀÖ´Â Dict Data Type°ú ¸Å¿ì À¯»çÇÕ´Ï´Ù. ¿ì¸®´Â ¶ÇÇÑÀÌ API¸¦ Çâ»ó ½ÃÅ°·Á°í ³ë·ÂÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Python Keyword¿Í ÇÔ²² Æ®·£Àè¼ÇÀ» »ç¿ëÇÏ¿© ÀÛ¾÷ ÇÒ ¼ö ÀÖ½À´Ï´Ù. HDB Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© TC Çؽà µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé°í °ü¸® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º´Â »çÀü °´Ã¼Ã³·³ ÀÛµ¿ÇÏÁö¸¸ ÀúÀåµÈ µ¥ÀÌÅ͸¦ ´õ ¸¹ÀÌ Á¦¾îÇϱâ À§ÇØ Put ¹× Get ¸Þ¼Òµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Çؽà µ¥ÀÌÅͺ£À̽º¿¡¼ Á÷·ÄÈ µÈ Python °´Ã¼¸¦ Å° ¶Ç´Â °ªÀ¸·Î ÀúÀåÇϰųª ¿ø½Ã µ¥ÀÌÅÍ (C, LUA, Perl ¶Ç´Â Java¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º¿¡¼ °Ë»ö ÇÒ ¼ö ÀÖÀ½)¸¦ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. TCDB Import HDB # °³¹æÇü ¹æ¹ýÀº ij½Ã ¶Ç´Â # ÀÚµ¿ Á¶°¢ ¸ðÀ½ÀÌ °¡Æĸ£µíÀÌ ´Ù¸¥ ¸Å°³ º¯¼ö¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. db = hdb.hdb () db.open ( 'example.tch') # µ¥ÀÌÅͺ£À̽º db = 10 Assert À¯Çü (db ) == int db = 1 + 1J ¾î¼³ ¼Ç ŸÀÔ (DB ) == º¹ÀâÇÑ DB = 'ÅؽºÆ®'Assert À¯Çü (db ) == STR # ¿ì¸®°¡ ³Ö°Å³ª ¾ò´Â °æ¿ì, ¿ì¸®´Â ¿ø½Ã µ¥ÀÌÅÍ # EPIV¸¦ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. db.put_int ( 'key', 10, as_raw = true) db.put ( 'Å°', 10, raw_key = true, raw_value = true) # equiv. db.get_int ( 'Å°', as_raw = true) assert db.get ( 'key', raw_key = true, value_type = int) == 10 # 'del'Å°¿öµå # ¶Ç´Â ¾Æ¿ô ¹æ¹ý db¸¦ »ç¿ëÇÏ¿© ·¹Äڵ带 Á¦°Å ÇÒ ¼ö ÀÖ½À´Ï´Ù. out ( 'key', as_raw = true) # ·¹Äڵ带 ¹Ýº¹ ÇÒ ¼ö ÀÖ½À´Ï´Ù. Å°ÀÇ °æ¿ì db.iteriTems ()ÀÇ °ª : Àμâ Å°, ':', °ª # 'with'keywork db : db = '10'Assert DB == 10 'ÀÎ»ó ¿¹¿Ü # Æ®·£Àè¼ÇÀ» Áß´ÜÇϱ⠶§¹®¿¡ # »õ ·¹ÄÚµå ½Ãµµ°¡ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. db except : passb + tree database ¿ì¸®´Â BDB Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© B + Æ®¸® TC µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé°í °ü¸® ÇÒ ¼ö ÀÖ½À´Ï´Ù. API´Â HDB One°ú ¸Å¿ì À¯»çÇÕ´Ï´Ù. ¿ì¸®°¡ BDB Ŭ·¡½º·Î ÇÒ ¼öÀÖ´Â ÇÑ °¡Áö´Â ¿ì¸®°¡ Ä¿¼¸¦ »ç¿ëÇÏ¿© ¾×¼¼½º ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ¹üÀ§¸¦ °®´Â ¹üÀ§¸¦ »ç¿ëÇϸé È¿À²ÀûÀÎ ¹æ¹ýÀ¸·Î Á¤·Ä µÈ Å° ¼¼Æ®¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖÀ¸¸ç Cursor °´Ã¼¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º¸¦ Ž»ö ÇÒ ¼ö ÀÖ½À´Ï´Ù. Fixed-Length DatabaseFDB Ŭ·¡½º´Â °íÁ¤ ±æÀÌ ¹è¿ µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µé°í °ü¸® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Á¾·ùÀÇ µ¥ÀÌÅͺ£À̽º¿¡¼´Â µ¿Àû Array¿¡¼¿Í °°ÀÌ int Å° ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×À̺í°ú °°Àº °´Ã¼¸¦ ÀúÀåÇϱâ À§ÇØ Çؽà µ¥ÀÌÅͺ£À̽ºÀÇ º¯ÇüÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄÀ̽㿡¼ ¿ì¸®´Â DICT °´Ã¼¸¦ »ç¿ëÇÏ¿© ´ÜÀÏ Å×À̺íÀ» ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù. THD¸¦ »ç¿ëÇϸéÀÌ Å×À̺íÀ» ÀúÀåÇÏ°í Äõ¸® °³Ã¼¸¦ »ç¿ëÇÏ¿© Äõ¸®¸¦ ¸¸µé ¼ö ÀÖ½À´Ï´Ù. TCDB Import TDB #¿¡¼ ¿¸° ¸Þ¼Òµå´Â ij½Ã ¶Ç´Â # ÀÚµ¿ Á¶°¢ ¸ðÀ½ÀÌ °¡Æĸ¥ °Í°ú °°Àº ´Ù¸¥ ¸Å°³ º¯¼ö¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. db = tdb.tdb () db.open ( 'example.tct') # »õ Å×ÀÌºí ¾Ù¸®½º = {»ç¿ëÀÚ ':'¾Ù¸®½º ','À̸§ ':'¾Ù¸®½º ','³ªÀÌ ': 23} DB = alice assert db == alice ¾î¼³ ¼Ç À¯Çü (db == int # ¿ì¸®°¡ put / getÀ» »ç¿ëÇϸé, ¿ì¸®´Â ¿ø½Ã µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. db.put ( 'pk', alice, raw_key = true, raw_cols = true) # equiv. db.get_col_int ( 'pk', 'age', raw_key = true) schema = {»ç¿ëÀÚ ': str,'name ': str,'age ': int} assert db.get ('pk ', raw_key = true, schema = schema) == 23 # ¿ì¸®´Â 'del'Å°¿öµå # ¶Ç´Â ¾Æ¿ô ¸Þ¼Òµå del dB Ãß»ó µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ¿© ·¹Äڵ带 Á¦°Å ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿Ï¼ºµµ, ¿ì¸®´Â ÇؽÃ, b +¿¡ ¾×¼¼½ºÇϱâÀ§ÇÑ ADB Ãß»ó ÀÎÅÍÆäÀ̽º¸¦ Æ÷ÇÔÇÕ´Ï´Ù. Æ®¸®, °íÁ¤ ±æÀÌ ¹× Å×ÀÌºí µ¥ÀÌÅͺ£À̽º °³Ã¼. ¿ä±¸ »çÇ× : ¡¤ ÆÄÀ̽ã
py-tcdb. °ü·Ã ¼ÒÇÁÆ®¿þ¾î