Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1152 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  fonction illisible dans un fichier annexe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fonction illisible dans un fichier annexe

n°2440467
hlmhv
In Medio Virtus
Posté le 17-02-2023 à 14:24:10  profilanswer
 

Bon, je débute en Python mais 40 ans de Pascal objet devrait m'aider à me dépatouiller.
 
Sauf que je constate un truc bizarre.
 
Si je propose le code suivant tout va bien:
 
import io
import os
 
 
def filesize(ichemin, inomfichier):
    temp = os.path.getsize(ichemin+inomfichier)
    return temp
 
print("Taille: ", filesize('', "test.txt" ))

 
 
Mais si je transfère  la fonction "filesize" en copier/coller dans un fichier MyDef.py annexe, et que j'importe, cela ne marche plus:
 
import io
import os
import MyDef
 
 
print("Taille: ", filesize('', "test.txt" ))  

Où donc ai-je commis une erreur??  :heink:

mood
Publicité
Posté le 17-02-2023 à 14:24:10  profilanswer
 

n°2440470
rat de com​bat
attention rongeur méchant!
Posté le 17-02-2023 à 15:10:18  profilanswer
 

Faut pas lui dire explicitement d'importer la fonction, genre from MyDef import filesize ? :??:

n°2440736
matafan
Posté le 21-02-2023 à 22:38:12  profilanswer
 

Oui ou alors appeler explicitement MyDef.filesize(...)

n°2441567
masklinn
í dag viðrar vel til loftárása
Posté le 28-02-2023 à 18:34:04  profilanswer
 

Je confirme les affirmations des deux intervenants précédents: en Python l'import d'un module importe le module même, en tant qu'objet, ça ne fout pas implicitement le contenu du module dans le namespace courant comme dans d'autres langages.

 

D'ailleurs il est bien visible que os est importé, puis os est accédé, pas le contenu de os (même si pour faire bien il faudrait importer os.path: ici il s'avère que `os` importe `path`, mais ce n'est pas nécessairement le cas).

 

Accessoirement,

  • le préfixe "i" sur les variables n'a aucun sens et n'est pas idiomatique (éviter le français aussi, ça rend le code difficile à lire, sauf si c'est nécessaire pour le domaine)
  • les noms de modules, comme de variables, ou de fonctions, sont censés être en casse_serpent, la CassePascal est réservée aux noms de classes
  • les chemins sont joints avec os.path.join pour s'assurer que le séparateur est correcte indépendamment de la plateforme, ou bien pour du code plus moderne pathlib peut être utilisé


Message édité par masklinn le 28-02-2023 à 18:40:23

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  fonction illisible dans un fichier annexe

 

Sujets relatifs
Changer une icone en fonction d'une variable ?Créer et ajouter fonction au menu contextuel
Ouvrir un fichier en local au lieu de le télécharger ?Fonction exec()
problème de récupération de texte avec une fonctionCréation fichier gestion tournoi format suisse
Timedelta et fichier Ini[Powershell] Variable objet en paramètre de fonction & ValidateSet
PHP - Fonction Readline non détectéeLancer une appli dans une nouvelle instance Excel , mais pas seulement
Plus de sujets relatifs à : fonction illisible dans un fichier annexe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR