je travaille depuis quelques temps, pour mon stage, sur un code Python. C'est un code qui permet de manipuler un fichier Excel.
Maintenant qu'il fonctionne sur mon PC, j'ai voulu le faire fonctionner sur le PC du bureau, et j'ai un petit souci. Je n'arrive pas à faire fonctionner le chemin d'accès... J'en ai essayé plusieurs et ça ne fonctionne pas. Là, j'ai fait un test au plus simple, en mettant le fichier sur le bureau. Ce qui donne comme chemin d'accès : C:\Users\supervision2\Desktop\communication_python.xlsx
J'ai comme message d'erreur : "No such file or directory : 'C:\\Users\\supervision2\\Desktop\\communication_python.xslx"
Quel que soit l'endroit où je le mets, j'ai ce problème... et je remarque qu'automatiquement, il double les backslashs. Est-ce que c'est ça qui le fait planter?
Sachant que quand j'utilise la commande os.listdir(), le fichier est trouvé.
J'ai lu plusieurs astuces sur internet, indiquant qu'un problème peut être le code "\U" qui fait référence à de l'unicode, et que ce problème peut être résolu en doublant les "\", ou en ajoutant un "r" devant (pour raw string). Rien à faire, ça ne fonctionne pas.
Ok, sur Windows 7 ça fonctionnait ça... Plus qu'à voir dans quelle variable a été mis ton chemin du Users...
Que donne comme résultat
import os
print(os.environ)
?
PatxiHacala a écrit:
De plus, je ne vois pas où intervient mon fichier dans ce cas?
Donc tu n'as rien compris de ce que j'ai fais, parce-que sinon, t'avais juste à faire un os.path.join entre desktop et ton fichier et tu avais le chemin de ton fichier.
Il semble que la variable soit nommée HOMEPATH, à remplacer par la précédente variable HOME que j'avais donné.
Donc
import os
desktop = os.path.join(os.environ['HOMEPATH'], 'Desktop')
xls = os.path.join(desktop, 'communication_python.xlsx')
# traitement avec le fichier à partir de la variable xls
Pour os.listdir, c'est normal, il prend un répertoire en paramètre, pas un fichier.
S'il te renvoie False, il y a un soucis, vérifie que tu peux l'ouvrir avec excel et vérifie en le renommant, de le copier et le coller dans ton code...
Il y a sans doute une erreur d'étourderie dans le nom ou l'extension de ton fichier.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Dans le doute, reboot.
Pas d'aide concernant le code par MP, le forum est là pour ça :)