파이썬 안에서 여러개의 .py 실행하기

C:\Users\Lion\PycharmProjects\1\makepng 라는 폴더 안에

makepng1.py

makepng2.py

makepng3.py

makepng4.py

makepng5.py

makepng6.py

makepng7.py

makepng8.py

이라는 파이썬 파일들이 저장되어 있습니다.

실행하면 png이미지 파일을 처리해서 'C:\Users\Lion\PycharmProjects\1\gif_maker_png 폴더에 각각 png1~png8로 저장하는 코드입니다.

이런 여러개의 파이썬 코드를 파이썬 내에서 순차적으로 실행하는 방법이 있을까요? 참고로 파이참을 사용하고 있습니다.

P.S

구글링해봐도 잘 나오지 않아서 그런데

혹시 파이썬에서 .gif를 실행하라는 명령은 없는건가요?

여러개의 이미지로 .gif파일을 만들어 저장까지는 했는데

opencv2의 imread로는 .gif가 읽히질 않네요.

그냥 직접 폴더에서 더블클릭 하는 수밖에 없을까요 ㅠㅠ

2답변

  • 좋아요

    2

    싫어요
    채택취소하기

    생각을 해보세요. 우리는 이미 많은 수의 모듈이라고 불리우는 python 파일을 사용하고 있습니다.

    즉 python 파일은 import 해서 객체를 사용할 수 있습니다.

    즉 1~8 번 python 파일을 import 하고 함수를 호출하면 됩니다.

    만약 모듈을 만들고 import 하는 방법을 모른다면 파이썬 튜터리얼을 참고하세요(https://docs.python.org/ko/3/tutorial/modules.html)

    gif 는 실행파일도 아니고 실행이 될 수 있는 로직이 있는 파일이 아닙니다

    단순히 바이너리 데이터가 저장(포맷포함해서)되어 있는 이미지 파일입니다.

    즉 실행이라는 표현을 사용하지 않습니다.

    opencv에는 gif 파일을 인/디코딩 할 수있는 코덱이 없습니다.

    폴더에서 직접 더블클릭을 한다해서 opencv에서 사용할 수 있는 것이 아닙니다.

    gif 파일은 다른 이미지처리 모듈을 사용해야 합니다.

    imageio(https://imageio.github.io/) 모듈을 사용하여 gif 를 읽어서 처리하는 샘플입니다. imageio 도 numpy array 로 리턴하므로 opencv하고 잘 맞습니다.

    import imageio
    import cv2
    
    gif = imageio.mimread('8eai9oW.gif')
    imgs = [cv2.cvtColor(img, cv2.COLOR_RGB2BGR) for img in gif]    # opencv 는 컬러영상을 BGR 로 저장합니다. 그러므로 RGB 순서를 BGR로 변환
    
    • 정말 감사합니다~!! 파이썬 처음접하는데 많이 배워갑니다!!! 김찬주 2018.12.2 21:36
  • 만약 여러 파이썬을 순차대로 돌리시는 것을 원하신다면 import를 하는 방법도 있을 것 같고 subprocess를 돌리는 방법도 있을 것 같습니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.