python에서 sqlite 파일을 접속해서 조작하는 방법


$ sudo apt-get install python-sqlite

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following extra packages will be installed:

  libsqlite0

Suggested packages:

  python-sqlite-dbg

The following NEW packages will be installed:

  libsqlite0 python-sqlite

0 upgraded, 2 newly installed, 0 to remove and 7 not upgraded.

Need to get 141 kB of archives.

After this operation, 519 kB of additional disk space will be used.

Do you want to continue? [Y/n]

Get:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libsqlite0 armhf 2.8.17-12 [119 kB]

Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main python-sqlite armhf 1.0.1-11 [21.3 kB]

Fetched 141 kB in 1s (95.8 kB/s)

Selecting previously unselected package libsqlite0.

(Reading database ... 137326 files and directories currently installed.)

Preparing to unpack .../libsqlite0_2.8.17-12_armhf.deb ...

Unpacking libsqlite0 (2.8.17-12) ...

Selecting previously unselected package python-sqlite.

Preparing to unpack .../python-sqlite_1.0.1-11_armhf.deb ...

Unpacking python-sqlite (1.0.1-11) ...

Setting up libsqlite0 (2.8.17-12) ...

Setting up python-sqlite (1.0.1-11) ...

Processing triggers for libc-bin (2.19-18+deb8u7) ...


pi@raspberrypi:~ $ cd src

pi@raspberrypi:~/src $ ll

total 2060

drwxr-xr-x  2 pi pi    4096 Mar 30 14:40 .

drwxr-xr-x 30 pi pi    4096 Mar 30 14:34 ..

-rw-r--r--  1 pi pi 2099200 Mar 29 12:29 sqlite.udb


pi@raspberrypi:~/src $ python

Python 2.7.9 (default, Sep 17 2016, 20:26:04)

[GCC 4.9.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import sqlite3

>>> conn = sqlite3.connect('sqlite.udb')

>>> c = conn.cursor()

>>> c.execute("select * from tbl_recv")

<sqlite3.Cursor object at 0x769eaa20> 


데이터가 유니코드로 나오나..

# we can also implement a custom text_factory ...

# here we implement one that will ignore Unicode characters that cannot be

# decoded from UTF-8

con.text_factory = lambda x: unicode(x, "utf-8", "ignore") 


[링크 : https://docs.python.org/2/library/sqlite3.html]

'Programming > python(파이썬)' 카테고리의 다른 글

파이썬 리스트(list)와 튜플(tuple)  (0) 2017.04.02
파이썬 type 확인하기  (0) 2017.04.02
python smtplib의 신비..?  (0) 2016.12.30
python이 인기라는데..  (0) 2014.03.19
python2 vs python3  (0) 2013.01.02
Posted by 구차니

어라?

파이썬으로 메일보내는데

새가

ㅅㅐ 로 보내지네.. 머지?


[링크 : http://unicode.scarfboy.com/?s=U%2BC0C8]

[링크 : http://unicode.scarfboy.com/?s=U%2b1109]

[링크 : http://unicode.scarfboy.com/?s=U%2b1162]



+

설정해도 안되고..

일단 ssh에서 직접 스크립트를 실행하면 한글이 안깨지고 가는데..

svn 통해서 hook 실행되면 깨진다.

[링크 : https://mikewest.org/2006/06/subversion-post-commit-hooks-101]

[링크 : http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks]

'Programming > python(파이썬)' 카테고리의 다른 글

파이썬 type 확인하기  (0) 2017.04.02
python sqlite3  (0) 2017.03.30
python이 인기라는데..  (0) 2014.03.19
python2 vs python3  (0) 2013.01.02
PyOpenGL  (0) 2011.10.04
Posted by 구차니
한동안 죽어있다가 이제야 조금 살아나는 기미가 보이긴 한데
학원이나 아는 사람들에게 이야기를 들으면
요즘 각광받는 언어라고 해서 참으로 의아한..

python2 2.7.x 에서 한동안 3.x 대로의 이전이 쉽지 않았는지 거의 3년 가량을 죽어 있다가
2014년 3월 16일 3.4.0이 릴리즈 된 걸 봐서는 이제 이 언어도 살아 날지도 모르겠다.

[링크 : https://www.python.org/download/releases/]

'Programming > python(파이썬)' 카테고리의 다른 글

python sqlite3  (0) 2017.03.30
python smtplib의 신비..?  (0) 2016.12.30
python2 vs python3  (0) 2013.01.02
PyOpenGL  (0) 2011.10.04
python 3.2.2 64bit 버전 설치  (4) 2011.09.13
Posted by 구차니
파이썬 2.7과 파이썬 3.3 두가지 버전이 있어서 무슨 차이가 있나 찾아보니
2.7이후로는 업데이트도 하지 않을 것이기에 3.3을 쓰라고 되어 있다.

2.x에서 3.x으로 이전하게 된 이유가
과거의 잘못 구현된 부분을 바로잡기 위함이기에
5년 정도의 이전기간을 고려하고 있다고 하는데
다르게 말하면 한동안 2.7을 사용해야만 하고
나중에 3.x대로 이전을 반드시 해야 하지만 그동안 언어가 살아있을지도 조금 의문이 되는 상황...

[링크 : http://wiki.python.org/moin/Python2orPython3]
[링크 : http://docs.python.org/3/whatsnew/3.0.html]

'Programming > python(파이썬)' 카테고리의 다른 글

python smtplib의 신비..?  (0) 2016.12.30
python이 인기라는데..  (0) 2014.03.19
PyOpenGL  (0) 2011.10.04
python 3.2.2 64bit 버전 설치  (4) 2011.09.13
python 버전 골라서 실행하기  (0) 2011.05.08
Posted by 구차니
Python의 openGL 바인딩이다.
linux 개발용 노트북을 해놔서 C를 통해 개발을 해도 상관은 없지만
다른 언어도 배울겸 한번 openGL을 python으로 하면 어떨까? 싶어서 찾아본 내용인데 흐음..
함수 이름이라던가 거의 100% C와 동일한데 별 의미가 없으려나?

import OpenGL 
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import * 

[링크 : http://pyopengl.sourceforge.net/]
[링크 : http://pypi.python.org/pypi/PyOpenGL-Demo] demo 

'Programming > python(파이썬)' 카테고리의 다른 글

python이 인기라는데..  (0) 2014.03.19
python2 vs python3  (0) 2013.01.02
python 3.2.2 64bit 버전 설치  (4) 2011.09.13
python 버전 골라서 실행하기  (0) 2011.05.08
python C/api - PyObject_GetAttrString()  (0) 2010.04.06
Posted by 구차니
이유는 모르겠지만 Windows7 Ultimate 64bit 버전에서 윈도우즈 업데이트를 진행하며 실행하니 오류가 발생했다.
리부팅하고 나니 문제없이 넘어가서 대략 황당 -ㅁ-


 

 

'Programming > python(파이썬)' 카테고리의 다른 글

python2 vs python3  (0) 2013.01.02
PyOpenGL  (0) 2011.10.04
python 버전 골라서 실행하기  (0) 2011.05.08
python C/api - PyObject_GetAttrString()  (0) 2010.04.06
파이썬 문자열 쌍따옴표 세개 - """ python string  (0) 2010.04.04
Posted by 구차니
pythonbrew 라는 녀석이 있어서, 여러개 버전을 설치해서 골라가며 실행을 할 수 있다고 한다.

[링크 :  http://kldp.org/node/122865]
  [링크 : http://gauryan.blogspot.com/2011/05/pythonbrew-python.html]

[링크 : https://github.com/utahta/pythonbrew]

'Programming > python(파이썬)' 카테고리의 다른 글

PyOpenGL  (0) 2011.10.04
python 3.2.2 64bit 버전 설치  (4) 2011.09.13
python C/api - PyObject_GetAttrString()  (0) 2010.04.06
파이썬 문자열 쌍따옴표 세개 - """ python string  (0) 2010.04.04
python c/api 관련문서  (0) 2010.03.25
Posted by 구차니
PyObject_GetAttrString() 함수는 파이썬 내의 변수 객체를 받아오는 녀석이다.

PyObject* PyObject_GetAttrString(PyObject *o, const char *attr_name)
Return value: New reference.

Retrieve an attribute named attr_name from object o. Returns the attribute value on success, or NULL on failure. This is the equivalent of the Python expression o.attr_name.


[링크 : http://docs.python.org/c-api/object.html#PyObject_GetAttrString]

문제는 PyObject *o 인데, o는 전체를 의미하는 __main__을 사용하면 될듯하다.
아무튼 간략하게 사용하자면, 이런식으로 문자열을 출력 가능하다.

    Py_Initialize();
        PyRun_SimpleString("teststr=\"test test\"");

        PyObject* po_main = PyImport_AddModule("__main__");
        PyObject* po_dict = PyObject_GetAttrString(po_main, "teststr");

        printf("teststr [%s]\n",PyString_AsString(po_dict));

        Py_DECREF(po_main);
        Py_DECREF(po_dict);

    Py_Finalize();


[링크 : http://koichitamura.blogspot.com/2008/06/this-is-small-python-capi-tutorial.html]
Posted by 구차니
파이썬에서 문자열은 " 나 ' 로 표시가 된다.
하지만 HTML의 <PRE> 태그 처럼 """ 를 사용하면 엔터표시 없이 보이는대로 출력해주는 특이한(?!) 문법이 존재한다.
처음에는 도대체 이녀석을 왜쓸까? 했는데,
python 자체 util 인 pydocs가 문서화를 하는데 __doc__ 사용한다고 한다.

아래는 파이썬 튜토리얼중 문자열에 대한 부분인데,
단순하게 사용법을 출력하기 위해 \n 없이 문자열을 입력하는 것을 보여준다.

Or, strings can be surrounded in a pair of matching triple-quotes: """ or '''. End of lines do not need to be escaped when using triple-quotes, but they will be included in the string.

print """
Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to
"""

produces the following output:
Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to

[링크 : http://docs.python.org/tutorial/introduction.html#strings]

파이썬 class 문서로서, """A Simple example class"" 는
MyClass.__doc__ attribute로 문자열로 인식이 되며, pydocs나 doxygen에서
이를 이용하여 함수의 간략한 설명을 넣는데 이용될 수 있다.

class MyClass:
    """A simple example class"""
    i = 12345
    def f(self):
        return 'hello world'

[링크 : http://docs.python.org/tutorial/classes.html]


위는 전형적인 python 의 주석 스타일이며, 아래는 doxygen을 위한 주석 스타일이다.
그러고 보니.. 파이썬도 #를 이용한 주석을 인정하는군..(Makefile이나 쉘 스크립트는 #로 시작하는 줄은 주석으로 인식함)

For Python there is a standard way of documenting the code using so called documentation strings. Such strings are stored in __doc__ and can be retrieved at runtime. Doxygen will extract such comments and assume they have to be represented in a preformatted way.

"""@package docstring
Documentation for this module.

More details.
"""

def func():
    """Documentation for a function.

    More details.
    """
    pass



## @package pyexample
#  Documentation for this module.
#
#  More details.

## Documentation for a function.
#
#  More details.
def func():
    pass

[링크 : http://www.stack.nl/~dimitri/doxygen/docblocks.html]

'Programming > python(파이썬)' 카테고리의 다른 글

python 버전 골라서 실행하기  (0) 2011.05.08
python C/api - PyObject_GetAttrString()  (0) 2010.04.06
python c/api 관련문서  (0) 2010.03.25
python c/api - Py_DECREF  (0) 2010.03.25
python c/api 에서 모듈 불러오기  (0) 2010.03.19
Posted by 구차니
c에서 python을 쓰는건 embedding 이라고 하고
python에서 c를 쓰는건 extend(확장) 이라고 한다.

[링크 : http://kukuta.tistory.com/69]
[링크 : http://kukuta.tistory.com/83]
[링크 : http://kukuta.tistory.com/91]
[링크 : http://kukuta.tistory.com/92]
[링크 : http://www.codeproject.com/KB/cpp/embedpython_1.aspx]
[링크 : http://koichitamura.blogspot.com/2008/06/this-is-small-python-capi-tutorial.html]
Posted by 구차니