끄적끄적 인턴생활 (2020)/슬랙봇 만들기(2020)

Blob_excel list automation 샘플코드 분석(1)

jellylucy 2022. 1. 17. 02:35

def blob_storage_connect(project, container_name) :

(1) 입력된 환경변수 가져오기

connect_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')
        print('등록된 연결 문자열이 있습니다.')
 

echo 으로 스토리지 계정의 컨테이너 키 값을 환경변수지정했다.

 

(2) if 문의 조건이해 X

 

connect_str 을 ';'으로 나눈다음에 그것이 배열인지 어떻게 알고

또 그것을 [-1]으로 나누는 것인지 모르겠다.

if project == connect_str.split(';')[1].split('=')[-1]:
 

(3) if 문

            # Create the BlobServiceClient object which will be used to create a container client
            print('{} project에서 데이터를 추출하겠습니다.'.format(project))
            blob_service_client = BlobServiceClient.from_connection_string(
                connect_str)
            # Instantiate a ContainerClient
            container_client = blob_service_client.get_container_client(
                container_name)
            blobs_list = container_client.list_blobs()
            return blobs_list
 

 


"argparse 가 무엇일까?"

{

project 는 매개변수이고, 이 코드에서 project 값으로 들어가는 것은

argparse의 어떤 것이다..

 

project 인자에 args.project_name이 들어가서 코드 따라가다 만나게 됨

}

 

arg : 명령어 + parse : 파싱 => 입력한 명령어대로 파싱하여 py 파일을 실행시킨다 .

 

내가 import argparse 한 뒤, add 메소드로 arguments를 넣으면

그것대로 실행할 수 있다고 한다.

 

python 실행 main 부분을 보면 ,

if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument()
args = parser.parse_args()
 

이런 식으로 argument 형성부터 적혀있다.

 

argparse 사용법.

https://greeksharifa.github.io/references/2019/02/12/argparse-usage/

import argparse

parser = argparse.ArgumentParser(description='Argparse Tutorial')
# argument는 원하는 만큼 추가한다.
parser.add_argument('--print-number', type=int, 
                    help='an integer for printing repeatably')

args = parser.parse_args()

for i in range(args.print_number):
    print('print number {}'.format(i+1))
 

1. 원하는 description 을 입력하여 parser 객체 생성

2. add_argument() 을 이용하여 원하는 만큼 인자종류를 추가한다.

3. parse_args() 으로 명령창에서 주어진 인자를 파싱.

4. 파싱을 성공했다면 파싱값의.parameter 형태로 주어진 인자값을 받아 사용할 수 있다.

 

(뭔가. 포인터 참조자 스무리 느낌인가)