복붙노트

[PYTHON] 여러 확장과 함께 endswith 사용

PYTHON

여러 확장과 함께 endswith 사용

확장자 목록이있는 파일을 검색하려고합니다.

ext = [".3g2", ".3gp", ".asf", ".asx", ".avi", ".flv", \
                        ".m2ts", ".mkv", ".mov", ".mp4", ".mpg", ".mpeg", \
                        ".rm", ".swf", ".vob", ".wmv"]
if file.endswith(ext): # how to use the list ?
   command 1
elif file.endswith(""): # it should be a folder
   command 2
elif file.endswith(".other"): # not a video, not a folder
   command 3

해결법

  1. ==============================

    1.튜플을 사용하십시오.

    튜플을 사용하십시오.

    >>> ext = [".3g2", ".3gp", ".asf", ".asx", ".avi", ".flv", \
                            ".m2ts", ".mkv", ".mov", ".mp4", ".mpg", ".mpeg", \
                            ".rm", ".swf", ".vob", ".wmv"]
    
    >>> ".wmv".endswith(tuple(ext))
    True
    >>> ".rand".endswith(tuple(ext))
    False
    

    매번 변환하는 대신 한 번 터플로 변환하십시오.

  2. ==============================

    2.처음에는 터플로 만들지 못했습니까? 왜해야합니까?

    처음에는 터플로 만들지 못했습니까? 왜해야합니까?

    >>> ".wmv".endswith(tuple(ext))
    

    당신은 단지 할 수 없었다 :

    >>> ext = (".3g2", ".3gp", ".asf", ".asx", ".avi", ".flv", \
                            ".m2ts", ".mkv", ".mov", ".mp4", ".mpg", ".mpeg", \
                            ".rm", ".swf", ".vob", ".wmv")
    
  3. from https://stackoverflow.com/questions/22812785/use-endswith-with-multiple-extensions by cc-by-sa and MIT license