Fichier python sous Android

Ambassadeur -  

Bonjour,

J'ai mis sur mon Android un fichier.py

Avec Qpython pour ce système, je ne sais comment faire lire le fichier qui est dans téléchargements ?

J'ai vu ce code à rentrer dans la console de "Qpython 3H",  mais il manque des choses surement ?

import os

def find(name, path) :
    for root, dirs, file in os.walk(path):
        if name in file: return
os.path.join(root, name)

“Impose ta chance, serre ton bonheur et va vers ton risque. A te regarder, ils s’habitueront.”  René Char 

1 réponse

  1. Modérateur

    Bonjour,

    Sur le plan de la syntaxe, je pense que ce que tu voulais écrire est plutôt :

    import os
    
    def find(name, path) :
        for root, dirs, file in os.walk(path):
            if name in file:
                return os.path.join(root, name)
    
    # Exemple
    print(find("boot.log", "/var/log"))

    NB : pour illustrer mon message, j'ai pris un fichier qui existe sur mon système, il faut bien entendu adapter l'exemple à ton cas.

    Ceci dit, vu le nom de ta fonction, je pense que ce que tu veux utiliser est plus probablement Path.glob. Par exemple, pour chercher tous les fichiers finissant par ".log" dans /var ou n'importe lequel de ses sous-dossiers, on écrirait

    from pathlib import Path
    
    print(list(Path("/var").glob("**/*.log")))

    Résultat :

    [PosixPath('/var/log/auth.log'),
     PosixPath('/var/log/kern.log'),
     PosixPath('/var/log/boot.log'),
     PosixPath('/var/log/user.log'),
     PosixPath('/var/log/fontconfig.log'),
     PosixPath('/var/log/cron.log'),
     PosixPath('/var/log/dpkg.log'),
     PosixPath('/var/log/sddm.log'),
     PosixPath('/var/log/alternatives.log'),
     PosixPath('/var/log/Xorg.0.log'),
     PosixPath('/var/log/installer/Xorg.0.log'),
     PosixPath('/var/log/apt/term.log'),
     PosixPath('/var/log/apt/history.log')]

    Bonne chance

    0
    1. Ambassadeur

      Merci mamiemando !

      Il m'est retourné avec ce code sur mon Android et Qpython que le format n'est pas accepté, qu'il exécute que du py, htlm, etc...

      0
    2. Modérateur
      @quentin2121

      Tu as bien tenté d'exécuter un fichier toto.py qui contient ceci ?

      from pathlib import Path
      
      print(list(Path("/var").glob("**/*.log")))

      Pense à adapter le dossier dans lequel chercher (ici /var) et l'extension (ici .log) à ton cas d'usage (tant qu'à faire, une recherche pour laquelle tu sais que tu devrais trouver un fichier).

      0