Dies ist eine alte Version des Dokuments!


Windows

Um in Python auf COM-Schnittstellen zugreifen zu können, wird das Modul win32com benötigt. Um die benötigten COM-Wrapper-Klassen zu erstellen muss folgendes Skript ausgeführt werden.

import sys
from win32com.client import makepy

sys.argv = ["makepy", "<PATH_TO_TLB>"]

makepy.main()

Wenn man ein Python-Skript als Windows-Service laufen lässt, kommt man mit sys.argv[0] nicht an den Pfad des Skripts heran. Statt dessen wird der Pfad zu pythonservice.exe zurückgegeben.

Es gibt trotzdem einen Möglichkeit, an den Skript-Pfad zu kommen:

import inspect
path = inspect.currentframe().f_code.co_filename

Modalen Dialog anzeigen:

import os, sys, ctypes

ctypes.windll.user32.MessageBoxA(0,
    "curdir: %s\nexedir: %s\nsys.winver: %s" % (
        os.path.abspath(os.curdir),
        os.path.abspath(os.path.dirname(sys.argv[0])),
        sys.winver,
    ), "%s - Message" % os.path.basename(sys.executable), 0x30
)

  • Zuletzt geändert: 2019-04-09 18:02