Python 을 사용하면서 이래 저래 많은 툴들을 많들어서 사용하는 중입니다. 

프로그램을 만들시 파라미터들은 보통 argument 에서 받고 했었는데 

파라미터가 매우 많다면 이런 값들은 파일을 통해 받게 만들곤 합니다. 

이런 파라미터 들은 보통 key : value 의 쌍으로 저장하곤 하는데 

이럴때 XML 을 많이 사용해 왔었습니다. 

그런데 XML 은 테그로 구성되다 보니 같은 내용이더라도 복잡해 보이더군요. 즉 가독성이 떨어진다는 생각이 들었습니다. 

그래서 요즘은 json 을 사용하고 있습니다. 

json 파일은 Python 에서 너무 쉽게 다음과 같이 파일을 load 할 수 있습니다. 

import json

with open(jsonFile) as data_file:
     Topology = json.load(data_file)


json 파일을 formatting 하고 싶은 경우에는 아래 주소의 사이트를 추천 합니다.


위 사이트에서는 json 파일을 XML, CSV, YAML 과 같은 형태로 변환 할 수 있으며 사람이 보기 좋게 Formatting 도 해주고 전달하기 좋게 Minify 도 해 줍니다.

이렇게 변환 된 Code 는 파일로 다운로드해서 사용 할 수 있습니다.


오늘은 Autohotkey 의 argument 처리에 대해 소개하려 합니다.

 

Argument 란 Autohotkey로 만들어진 프로그램을 command line 에서 실행 할 때 파라미터 값을 주는 것을 의미 합니다.

 

C/C++ 의 경우 argv 라는 변수로 받고 python 등에서는 sys.argv 라는 변수로 받곤 합니다.

 

Autohotkey 의 argument와 관련한 매뉴얼은 아래 주소에 있습니다.

 

http://www.autohotkey.com/docs/Scripts.htm#cmd

 

위 주소에서 확인 할 수 있는 바와 같이  %0% 에는 전달받은 파라미터의 개수가 저장 되고 %1%, %2% ... 에 각 parameter 가 순서대로 저장 됩니다. 하지만 %1%, %2% 라는 값을 직접적으로 사용할 수는 없고 아래 캡쳐 화면과 같이 %A_Index% 를 사용합니다.

 

위 주소의 매뉴얼에 나와 있는 예를 하나 소개하려 합니다.

 

아래 그림은 매뉴얼의 예제 하나를 캡쳐 한 것이고 다운로드를 받아보면 Scripts-Script.ahk 라는 이름으로 저장됩니다.

 

위 코드의 내용은 %0% 즉 파라미터의 개수만큼 루프를 돌려서 파라미터를 확인하는 간단한 예입니다.

 

다음과 같이 cmd 창에서 실행 합니다.

 

실행하면 다음과 같이 메시지 박스가 나오는 것을 확인 할 수 있습니다.

 

 

Scripts-Script.ahk 뒤에 test1 test2 라는 파라미터를 넘겨 줬고~ 이 파라미터들이 정상적으로 확인 되는 것을 볼 수 있습니다.

 

Autohotkey 에서 파라미터를 사용할 때는 위 예와 같이 각 파라미터는 공백으로 구분 합니다.

 

공백이 있는 파라미터를 넘겨 주고 싶을 때는 다음 그림과 같이 따옴표("") 로 감싸줘야 합니다.

 

아래 그림과 같이 공백이 있는 파라미터의 경우 따옴표로 감싸줘야 정상적으로 받을 수 있다는 것을 확인 할 수 있습니다.

 

 

다음으로 autohotkey script 를 실행 파일로 만들고~ 파일을 드래그 & 드랍을 해 보겠습니다.

 

 

다음과 같이 파일의 full path 가 파라미터로 넘겨 지는 것을 확인 할 수 있습니다.

 



+ Recent posts