2017-09-24 4 views
0

J'essaie d'utiliser WMI. Il est nécessaire que j'installe pywin32 ce que j'ai fait. Mais quand j'importe WMI, il renvoie une erreur. Quelqu'un peut-il m'aider!Pywin32 FileNotFoundError: [Errno 2] Aucun fichier ou répertoire: ... \ __ init__.py

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Anaconda\lib\site-packages\wmi.py", line 88, in <module> 
    from win32com.client import GetObject, Dispatch 
    File "C:\Anaconda\lib\site-packages\win32com\client\__init__.py", line 11, in <module> 
    from . import gencache 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 666, in <module> 
    __init__() 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 62, in __init__ 
    Rebuild() 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 653, in Rebuild 
    _SaveDicts() 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 69, in _SaveDicts 
    f = open(os.path.join(GetGeneratePath(), "dicts.dat"), "wb") 
    File "C:\Anaconda\lib\site-packages\win32com\client\gencache.py", line 145, in GetGeneratePath 
    f = open(fname,"w") 
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\KEVINE~1\\AppData\\Local\\Temp\\gen_py\\3.6\\__init__.py' 
+0

Bienvenue sur SO! Exécutez-vous votre code en tant que membre du groupe Administrateur? – wp78de

+0

Possible copie de [Impossible d'importer le module WMI Python] (https://stackoverflow.com/questions/20654047/cant-import-wmi-python-module) – wp78de

Répondre

0

J'ai essayé moi-même et je peux confirmer wmi fonctionne dans Anaconda en cours d'exécution Python 2.7.

Ce que je l'ai fait:

  1. Commencez l'invite Anaconda (de python2)
  2. de Conda installer pywmi32 (pywin32: 220 py27_1 était déjà installer, rien à faire).
  3. pip install wmi
  4. Exécutez l'échantillon d'essai suivant Spyder, ou sur l'invite python wmi_test.py
import wmi  
c = wmi.WMI() 
for s in c.Win32_Service (StartMode="Auto", State="Stopped"): 
    if raw_input ("Restart %s? " % s.Caption).upper() == "Y": 
    s.StartService() 

En tant que test de base, vous pouvez même exécuter le module WMI directement et obtenir des informations sur vos disques:

python C:\Users\itsyou\Anaconda3\envs\python2\Lib\site-packages\wmi.py 
+1

Par ailleurs, dans mon livre PowerShell est l'arme de choix pour faire face à WMI. – wp78de

+0

PowerShell est certainement l'outil à utiliser pour accéder à WMI sur Windows. Ne manquez pas les cmdlets CIM et WMI. – bahrep