UUID에서 대시를 제거하는 방법

4234 단어 pythonutilsuuid
UUID는 다음과 같이 (128/4) = 32개의 16진수로 표시되는 128비트 데이터입니다.
  • UUID v1 : c1b33c74-0006-11eb-9894-c83dd482e3ef
  • UUID v4 : 8791f25b-d4ca-4f10-8f60-407a507edefe

  • Python에는 UUID를 쉽게 생성할 수 있는 내장uuid 라이브러리가 있습니다.

    $ python3
    Python 3.8.1 (default, Feb 12 2020, 16:30:11)
    [GCC 7.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import uuid
    >>> print(uuid.uuid4())
    8791f25b-d4ca-4f10-8f60-407a507edefe
    


    자, 어떻게 8791f25b-d4ca-4f10-8f60-407a507edefe를 8791f25bd4ca4f108f60407a507edefe로 바꿀 수 있습니까?

    이 문제에 대한 regex 솔루션이 있지만 이 문제를 해결하기 위해 파이썬을 사용하고 싶습니다.

    # utils.py
    from uuid import UUID
    
    def uuid_to_hex(uuid):
        """Turn uuid4 with dashes to hex
    
        From : 8791f25b-d4ca-4f10-8f60-407a507edefe
        To   : 8791f25bd4ca4f108f60407a507edefe
    
        :param uuid: uuid string with dashes
        :type uuid: str
    
        :returns: str - hex of uuid
        """
    
        return UUID(uuid).hex
    


    이 함수의 사용 예:

    $ python3
    Python 3.8.1 (default, Feb 12 2020, 16:30:11)
    [GCC 7.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from utils import uuid_to_hex
    >>> _uuid = "8791f25b-d4ca-4f10-8f60-407a507edefe"
    >>> print(uuid_to_hex(_uuid))
    8791f25bd4ca4f108f60407a507edefe
    


    그리고 예, 저는 문서를 매우 좋아합니다.

    >>> uuid_to_hex.__doc__
    'Turn uuid4 with dashes to hex\n\n    From : 8791f25b-d4ca-4f10-8f60-407a507edefe\n    To   : 8791f25bd4ca4f108f60407a507edefe\n\n    :param uuid: uuid string with dashes\n    :type uuid: str\n\n    :returns: str - hex of uuid\n    '
    


    가독성(?)을 높이기 위해 PEP 484에 도입된 Type Hints로도 이 함수를 작성할 수 있습니다. 유형 힌트에는 Pythhon >= 3.5 가 필요합니다.

    # utils.py
    from uuid import UUID
    
    def uuid_to_hex(uuid: str) -> str:
        """Turn uuid4 with dashes to hex
    
        From : 8791f25b-d4ca-4f10-8f60-407a507edefe
        To   : 8791f25bd4ca4f108f60407a507edefe
    
        :param uuid: uuid string with dashes
        :type uuid: str
    
        :returns: str - hex of uuid
        """
    
        return UUID(uuid).hex
    


    모두 완료되었습니다!

    좋은 웹페이지 즐겨찾기