본문 바로가기
Programming/Python

[python] Flask - ValueError: script argument must be unicode.

by NAMP 2018. 4. 1.

[python] Flask - ValueError: script argument must be unicode.

에러

플라스크 튜토리얼(Flask 어플리케이션 테스트하기 — Flask 0.11-dev documentation) 에서 아래 코드를 실행할 때 에러가 발생합니다.

def init_db():
    with closing(connect_db()) as db:
        with app.open_resource('schema.sql') as f:
            db.cursor().executescript(f.read())
        db.commit()

ValueError: script argument must be unicode.

수정

위의 코드에서 f.read() 부분을 아래와 같이 수정합니다.

f.read().decode('utf-8')

전체 코드

def init_db():
    with closing(connect_db()) as db:
        with app.open_resource('schema.sql') as f:
          db.cursor().executescript(f.read().decode('utf-8'))
        db.commit()

출처

tags: python, flask, valueError, script, argument, unicode

댓글