파이썬 sys.argv 매게변수

터미널 통해서 외부에서 파이썬 호출하고 매개변수를 전송하고 있습니다. 매개변수를 누름틀에 채우려고 하는데
EX) Main.py 1 2 (공백) 3 이렇게 매개변수를 전달하려고 하는데

제가 생각했던 값은
sys.argv[1] = 1
sys.argv[2] = 2
sys.argv[3] = “”
sys.argv[4] = 3
으로 생각했는데 실제로 파이썬에서 받는것은
sys.argv[1] = 1
sys.argv[2] = 2
sys.argv[3] = 3
으로 인식해버립니다…
그래서 값이 없을때는 공백을 넣었는데도 공백은 인식이 안되느데 … 어떻게 하면 공백이나 스페이스를 인식하게 할 수 있을까요

2개의 좋아요

조금더 테스트 해보니깐 매개변수의 값은 잘 받아오는데 누름틀에 넣을때 문제가 있는거같습니다. 일단은 매개변수 값이 null이면 누름틀에 값을 안넣기로 수정했습니다

안녕하세요 :slight_smile:
api로 null을 넘겨줄시는 오류가 생길것 같습니다 ㅠ …!
빈문자열값을 넘겨주면 괜찮을것 같습니다.
좋은하루 보내세요~!

저 하나 여쭤볼게 있습니다… 이벤트 핸들러는 PC내에 프로세스 끼리 연결을 하는것인가요 ?? … 방식이 어떤 방식으로 연결시켜주는것일까요

IHwpObjectEvents라는 개체를 통해서 한글 OLE 서버에서 이벤트를 보내주는 방식입니다.

ATL의 IConnectionPointImpl 인터페이스를 이용하고 있습니다~

더 궁금한게 한글 OLE 서버는 한글 사내에 있는 OLE 서버를 말씀하시는걸까요 ?

혹시 … 제가 이벤트 핸들러를 사용하기 위해서는 OLE 세팅을 해줘야 하는게 있 을까요
현재는 microsoft Equation 3.0으로 되어있습니다.

아니요,
한글 OLE 서버는 한글을 말하는것입니다.
한글 오토메이션의 경우 OLE Client,Server 기술을 이용하는데
한글이 서버, 오토메이션 인터페이스를 이용해서 외부에서 한글 기능을 호출하는 파이썬, C# 등 응용프로그램을 클라이언트로 보시면 됩니다.
이벤트 핸들러를 사용하기 위해 따로 세팅해준 부분은없습니다 ㅠ
저도 그냥 한글이 설치된 PC에 파이썬만 세팅하여 테스트해보았는데 이벤트관련 정상 동작했습니다.

PC세팅을 다시해서 한글, 파이썬만 깔아놓고 했음에도
_DIHwpObjectEvents.py 에서 cookie=cp.Advise(win32com.server.util.wrap(self, usePolicy=EventHandlerPolicy)) 이부분 에러로 떨어지는 부분이 있어 계속 확인중이네요 ㅠㅠ
저녁늦게까지 빠른답변 감사합니다. 좋은 저녁되십시오~~

위키 피디아 글인데 정리가 잘된것 같아 공유드립니다 ^^

win32com 모듈이 정상적으로 설치되지 않았거나,
아니면 혹시 관리자 권한으로 개발툴을 실행시켜보시겠어요?
가끔 개발하다보면 윈도우 함수쓰는 부분에서 권한 부분으로 이슈되는 경우도 있어서 혹시나 싶어 말씀드립니다
감사합니다 ^^

에고 … 늦은저녁까지 감사합니다. 알려주신 방법은 일단 다 해보겠습니다. 정의까지 보내주시고 감사합니다.

조금 늦은 답이지만^^;

python main.py 1 2 " " 3

하고 따옴표로 감싸주시면 됩니다.
큰따옴표 작은따옴표 상관이 없으며
파이썬에서는 빈 문자열 ""이나, 스페이스 한 칸 " "등도 인식할 수 있습니다.
참고하시기 바랍니다ㅎ

1개의 좋아요

안녕하세요. 더 확인을 해보니깐 빨간색 부분에 CLSID 부분이 레지스트리 등록이 되지 않는거 같습니다… 레지스트리 CSLID 경로를 가봐도 등록이 되어있지 않습니다. 그래서 호출할때 관련 레지스트리가 없어서 오류가 나는가 싶은데… 레지스트리가 등록이 되어있어야 정상인걸까요 ?? 만약 레지스트리가 등록되어있으면 수동으로 등록할수 있을까요 …?

–‘{2291CF00-64A1-4877-A9B4-68CFE89612D6}’ : 'HwpObject’는 레지스트리 등록이 되어있습니다…
–추가로 확인해보니 HParameterSet,HAction 얘네들은 레지스트리 등록이 안되어 있어도 사용되고 있습니다 …
어렵네요 ㅠㅠ

image

감사합니다. 도움이 많이 되었습니다.

제가 알기론 오토메이션만 등록되면 되는걸로 알고있습니다 ㅠ …!

왜 Bee님 자리에서는 정상동작 안하는지 알수가없네요 ㅠ … 혹시 2020 이후 최신버전에서도 동일할까요?

2014버전 2010 버전에서만 테스트해봤습니다… 혹시 2020 이상을 설치해야할까요

헉…2022 라이센스가 있어서 설치해봤더니 해결됐습니다… 감사합니다

이전에 이벤트 처리기 질문건은 한글 버전문제 였던거 같습니다… 2010에서는 동작하지 않았고 2022버전은 동작하였습니다. 도움주셔서 감사합니다.

2개의 좋아요