형식 패턴을 사용하여 문자열을 값으로 역 직렬화

Josch

(비) 직렬화기에 대한 좋은 솔루션을 얻으려고 노력하고 있습니다. 형식 패턴과 입력 할 모든 값이 있습니다.

형식 패턴은 다음과 같습니다.

msg = '$bla,%d,%02d,%02d %02d:%02d:%02d.%03d' % (kwargs['...'], ...)

값을 직렬화하면 다음 문자열이 표시됩니다.

bla,1990,12,24 13:37:11.001

그러나 나는 또한 그것을 역 직렬화해야한다. 패턴은 길이와 유형이 크게 다를 수 있습니다. 형식 패턴만을 기반으로 문자열을 역 직렬화하고 싶습니다.

이것이 어떻게 달성 가능한지 아이디어가 있습니까?

편집 : Python 2.7.6을 사용하고 있습니다.

콜리 브리그 먼

몇 가지 가정하에 정규식으로이 작업을 수행 할 수 있습니다. 다음은 부분적인 예입니다. 전체 솔루션을 위해 여기에 추가해야 할 수도 있습니다. 기본적으로 각 인쇄 형식을 일치하는 정규식으로 조각 단위로 변환합니다.

import re
formattuple = (1990,12,24,13,37,11,1) 
formatstr = 'bla,%d,%02d,%02d %02d:%02d:%02d.%03d'

def rep_format(fmt):
    fmt = fmt.group(0)
    if fmt[0] != '%':
        return fmt
    if fmt == '%d':
        return r'(\d+)'
    ftype = fmt[-1]
    if ftype == 'd':
       fwidth = int(fmt[1:-1])
       return r'(\d{%d})'%(fwidth)
    else:
       return fmt

scanstr = re.sub(r'%\d+[df]', rep_format, formatstr)
scanstr
'bla,(\\d+),(\\d{2}),(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2}).(\\d{3})'

fstr = formatstr%formattuple
fstr
'bla,1990,12,24 13:37:11.001'

match = re.match(scanstr, fstr)
match.groups()
('1990',
 '12',
 '24',
 '13',
 '37',
 '11',
 '001')
mtuple = tuple(int(x) for x in match.groups())

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Jackson을 사용하여 패턴으로 속성 역 직렬화

분류에서Dev

JSON 문자열을 열거 형으로 역 직렬화하는 방법

분류에서Dev

Newtonsoft.JSON을 사용하여 C #으로 Json 문자열 역 직렬화

분류에서Dev

json 문자열을 일반 형식 목록으로 역 직렬화

분류에서Dev

Jackson을 사용하여 여러 유형을 단일 필드로 역 직렬화

분류에서Dev

유형 식별자로 숫자 값으로 serde를 사용하여 json의 역 직렬화

분류에서Dev

문자열에서 DataContract로 json을 역 직렬화하는 메서드의 익명 형식

분류에서Dev

System.Text.Json을 사용하여 모든`Nullable <T>`값 형식에 대해 빈 문자열을 null 값으로 역 직렬화하는 방법은 무엇입니까?

분류에서Dev

Newtonsoft.Json을 사용하여 이름을 값으로 역 직렬화

분류에서Dev

GSON을 사용하여 열거 형의 사용자 지정 역 직렬화

분류에서Dev

Json.Net을 사용한 C # 열거 형 역 직렬화 : 값을 형식으로 변환하는 동안 오류가 발생했습니다.

분류에서Dev

NestJS가 복잡한 유형을 사용하여 @Query ()를 DTO로 역 직렬화

분류에서Dev

JSON.net을 사용하여 동적으로 역 직렬화

분류에서Dev

serde_json을 사용하여 내부 열거 형 값을 & str에서 u64로 역 직렬화

분류에서Dev

여러 가능한 형식으로 속성을 읽기위한 사용자 지정 JSON 직렬화 / 역 직렬화

분류에서Dev

Xml을 다른 형식으로 역 직렬화

분류에서Dev

Jackson 2-Android에서 Retrofit REST-API를 사용하여 문자열을 날짜로 직접 역 직렬화

분류에서Dev

JSON 문자열을 객체로 역 직렬화하는 방법

분류에서Dev

공백을 포함하는 열거 형을 사용하여 Json을 NJsonSchema 생성 객체로 역 직렬화

분류에서Dev

Jackson을 사용하여 JSON 배열을 매핑으로 역 직렬화

분류에서Dev

사전을 이진으로 직렬화 및 역 직렬화

분류에서Dev

포함 된 형식을 사용한 역 직렬화 JSON

분류에서Dev

Newtosoft Json을 사용하여 Json을 null로 역 직렬화

분류에서Dev

kotlinx.serialization을 사용하여 json 객체 속성을 문자열로 역 직렬화

분류에서Dev

JsonSubTypes없이 jackson을 사용하여 인터페이스를 특정 유형으로 역 직렬화

분류에서Dev

jackson @JsonTypeInfo 주석을 사용하여 객체를 원래 유형으로 역 직렬화 할 수 없습니다.

분류에서Dev

대상 유형의 문자열 표현을 사용한 역 직렬화

분류에서Dev

Jackson을 사용하여 Lombok 빌더로 역 직렬화

분류에서Dev

C #을 사용하여 클래스로 JSON 역 직렬화

Related 관련 기사

  1. 1

    Jackson을 사용하여 패턴으로 속성 역 직렬화

  2. 2

    JSON 문자열을 열거 형으로 역 직렬화하는 방법

  3. 3

    Newtonsoft.JSON을 사용하여 C #으로 Json 문자열 역 직렬화

  4. 4

    json 문자열을 일반 형식 목록으로 역 직렬화

  5. 5

    Jackson을 사용하여 여러 유형을 단일 필드로 역 직렬화

  6. 6

    유형 식별자로 숫자 값으로 serde를 사용하여 json의 역 직렬화

  7. 7

    문자열에서 DataContract로 json을 역 직렬화하는 메서드의 익명 형식

  8. 8

    System.Text.Json을 사용하여 모든`Nullable <T>`값 형식에 대해 빈 문자열을 null 값으로 역 직렬화하는 방법은 무엇입니까?

  9. 9

    Newtonsoft.Json을 사용하여 이름을 값으로 역 직렬화

  10. 10

    GSON을 사용하여 열거 형의 사용자 지정 역 직렬화

  11. 11

    Json.Net을 사용한 C # 열거 형 역 직렬화 : 값을 형식으로 변환하는 동안 오류가 발생했습니다.

  12. 12

    NestJS가 복잡한 유형을 사용하여 @Query ()를 DTO로 역 직렬화

  13. 13

    JSON.net을 사용하여 동적으로 역 직렬화

  14. 14

    serde_json을 사용하여 내부 열거 형 값을 & str에서 u64로 역 직렬화

  15. 15

    여러 가능한 형식으로 속성을 읽기위한 사용자 지정 JSON 직렬화 / 역 직렬화

  16. 16

    Xml을 다른 형식으로 역 직렬화

  17. 17

    Jackson 2-Android에서 Retrofit REST-API를 사용하여 문자열을 날짜로 직접 역 직렬화

  18. 18

    JSON 문자열을 객체로 역 직렬화하는 방법

  19. 19

    공백을 포함하는 열거 형을 사용하여 Json을 NJsonSchema 생성 객체로 역 직렬화

  20. 20

    Jackson을 사용하여 JSON 배열을 매핑으로 역 직렬화

  21. 21

    사전을 이진으로 직렬화 및 역 직렬화

  22. 22

    포함 된 형식을 사용한 역 직렬화 JSON

  23. 23

    Newtosoft Json을 사용하여 Json을 null로 역 직렬화

  24. 24

    kotlinx.serialization을 사용하여 json 객체 속성을 문자열로 역 직렬화

  25. 25

    JsonSubTypes없이 jackson을 사용하여 인터페이스를 특정 유형으로 역 직렬화

  26. 26

    jackson @JsonTypeInfo 주석을 사용하여 객체를 원래 유형으로 역 직렬화 할 수 없습니다.

  27. 27

    대상 유형의 문자열 표현을 사용한 역 직렬화

  28. 28

    Jackson을 사용하여 Lombok 빌더로 역 직렬화

  29. 29

    C #을 사용하여 클래스로 JSON 역 직렬화

뜨겁다태그

보관