문제

독립형 전환 라이브러리가 있습니까?

바이트/문자열 만 이해하는 데이터 저장 시스템이 있지만 변환 할 유형과 같은 메타 데이터를 태그 할 수 있습니다.

다른 모든 응용 프로그램이 나보다 먼저 한 순진한 유형 변환기 시스템을 해킹 할 수 있습니다. 그러한 일반적인 활동에 이상합니다.

명확히하기 위해, 나는 다음과 같은 것을 가질 것이다.

( '123', 'Integer') 그리고 나는 꺼내고 싶다 123

도움이 되었습니까?

해결책 3

플랫 랜드는 이것을 잘합니다. http://discorporate.us/projects/flatland/

다른 팁

두 가지 옵션이 있습니다 구조 또는 간물 모듈.

구조물을 사용하면 형식을 지정하고 데이터를 바이트 배열로 압축합니다. 이는 C 구조로 작업하거나 이진 프로토콜이 필요한 네트워크 앱에 쓰는 데 유용합니다.

피클은 복잡한 파이썬 구조를 스트링에 자동으로 시리얼링하고 버릴 수 있습니다. 몇 가지 경고가 있으므로 가장 잘 읽습니다. 선적 서류 비치. 나는 이것이 당신이 원하는 도서관 일 가능성이 가장 높은 것 같습니다.

>>> import pickle
>>> v = pickle.dumps(123)
>>> v
'I123\n.'
>>> pickle.loads(v)
123
>>> v = pickle.dumps({"abc": 123})
>>> v
"(dp0\nS'abc'\np1\nI123\ns."
>>> pickle.loads(v)
{'abc': 123}

이걸 고려하세요.

import datetime

def toDate( someString ):
    return datetime.datetime.strptime( someString, "%x" ).date()

typeConversionMapping = { 'integer': int, 'string': str, 'float': float, 'date': toDate }
def typeConversionFunction( typeConversionTuple ):
    theStringRepresentation, theTypeName = typeConversionTuple
    return typeConversionMapping[theTypeName](theStringRepresentation)

그러한 일반적인 활동을위한 충분한 독립형 라이브러리입니까? 그것이 잘 테스트하고 오류 불쾌한 라이브러리로 충분할까요? 아니면 더 필요한 것이 있습니까?

더 많은 날짜/시간 변환이 필요한 경우 새로운 추가 toDate 형식이 다른 기능.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top