2012-04-22 3 views
2

변환하려고합니다. VBScript 코드를 파이썬 (Win32) 코드로 변환했지만 행운이 없습니다!VBScript를 파이썬 스 니펫 변환

Dim objMain, objSysInf, stMsg 

Set objMain = CreateObject("nnetcom.oMain") 

Call objMain.UnlockComponent("xxx-xxxxx-xxxxx-xx") 

Set objSysInf = CreateObject("nnetcom.oSystemInfo") 

Call objSysInf.GetSystemInfos 

stMsg = objSysInf.cOsName & " " & objSysInf.cOsType & vbCrLf & _ 
     objSysInf.cOsCpu & vbCrLf & objSysInf.cOsMem & vbCrLf & _ 
     objSysInf.cOsGpu 

MsgBox stMsg, vbInformation, "System Information" 

Set objSysInf = Nothing 
Set objMain = Nothing 

내가 윈도우 7을 실행하고있어 32 비트 파이썬 2.7.3 및 설치된 Windows 확장에 대한 파이썬 와. 또한 나는 ...에서 "makepy.pyc"을 실행하여 COM 객체를 추가 "해방 \ 사이트 - 패키지 \ win32com 클라이언트 \ \"...과 행운, 항상 어떤 오류 메시지가 점점

다음은 파이썬 코드입니다 :

import pythoncom 
import win32com.client 

objMain = win32com.client.Dispach("nnetcom.oMain") 

ret = objMain.UnlockComponent("xxx-xxxxx-xxxxx-xx") 

objSysInf = win32com.client.Dispach("nnetcom.oSystemInfo") 

objSysInf.GetSystemInfos() 

stMsg = objSysInf.cOsName 

print(stMsg) 

이 대화를 도와 줄 수있는 사람이 있습니까?

+2

전체 오류 출력을 표시하십시오. C : \> C : \ PROGRA ~ 1 \ 파이썬 \ python.exe를 C : \는 역 추적 (마지막으로 가장 최근에 전화를) example2.py : – Marcin

+0

** 안녕하세요 마르신 ** 여기 오류 출력 파일 :에, 4 행, "C \ example2.py" objMain = win32com.client.Dispach ("nnetcom.oMain") AttributeError : '모듈'개체가 어떤 속성 'Dispach' 당신이 날 도와 줄 수가 없습니다 ? ** Ragards, Viktor ** – beic

답변

4

DispachDispatch이어야합니다.

+0

오 세상에 맙소사, 내가 거기서 만든 오타! : D 이제는 작동하지만, 위에 게시 된 내 VBScript 코드에서 줄 바꿈과 새 줄을 만드는 방법은 무엇입니까? 도와 줘서 고마워! ;) – beic

+0

내장 된 str 유형의 메소드와 일반적인 순서 조작을 사용하여 문자열을 필수 행으로 분리 할 수 ​​있습니다. Python 표준 라이브러리 문서의 §5.6을 참조하십시오. 그 줄들을 목록에 넣으십시오. 그런 다음 윈도우에서' '\ r \ n.join()을 사용하여 목록에서 문자열을 포함하는 새 문자열을 개행 문자로 구분하여''\ n'.join()'을 사용하십시오. –

+0

줄 바꿈과 새로운 줄로 말하면, VBScript 예제 에서처럼 짧은 줄의 코드를 작성하는 방법은 다음과 같습니다 : stMsg = – beic