J'essaie de charger une DLL en python, et je ne peux le faire que si j'entre le chemin absolu. Je voudrais utiliser un chemin relatif, ou des variables d'environnement. La seule chose qui fonctionne est si je spécifie le chemin exact (C: ...) j'ai même essayé d'obtenir la DLL pour construire directement dans le même dossier que le fichier py, il n'a toujours pas fonctionné.
Ce que je:python: impossible de spécifier le chemin relatif pour l'importation dll
MY_DLL = r'c:\full_path\output\Win32\Debug\my.dll'
#MY_DLL = r'my.dll' #this doesn't work but it is what I want
#MY_DLL = r'$(env_var)\dir\output\$(Platform)\$(Configuration)\my.dll' #this doesn't work either but would be good too
aide?
pourriez-vous utiliser 'os.path.expandvars' ? – mgilson
Je l'ai fait à partir du chemin d'importation os MY_DLL = os.path.expandvars (r '$ (env_var) \ dir \ output \ $ (Plate-forme) \ $ (Configuration) \ my.dll') Mais il a montré qu'il essaie de charger exactement ce que j'ai mis après le = et ensuite NameError: 'os' n'est pas défini. Désolé, clueless .. Ai-je le mettre en droit? – Thalia
essayez 'import os.path' à la place de' from import os path'. Vous pourriez aussi avoir besoin de changer $ (env_var) '' $ {env_var} '- je ne suis pas sûr. L'erreur de nom est parce que vous n'avez pas importé d'os, vous avez importé le chemin de l'os. (comme vous l'avez fait, os.path est connu dans votre espace de noms comme juste chemin) – mgilson