CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Auto completion en python ?

PantsuneMiku
PantsuneMiku
Niveau 10
10 mars 2016 à 13:30:29

Bonjour, je programme sous Linux en Python, j'aurai besoin pour le programme que je suis actuellement en train de coder de la fonction tab de Linux (auto completion du nom d'un fichier) dans mon programme Python.
Le programme demande de spécifier un nom de fichier/dossier, j'aurais besoin que l'utilisateur puisse utiliser la touch Tab pour lui éviter de tout écrire.

Merci d'avance :ok:

UnTrucDeOufOuf
UnTrucDeOufOuf
Niveau 7
10 mars 2016 à 15:51:33

Programme graphique (quel lib?) ? console ?

PantsuneMiku
PantsuneMiku
Niveau 10
10 mars 2016 à 16:51:17

Programme en console, python3, l'utilisateur doit saisir la variable
var = str(input())
Juste avant cela je lui affiche les fichiers & dossiers du répertoire via call(["ls"])
En gros je voudrais que s'il possède un fichier appelé texte il puisse taper "te" et ensuite la touche tab qui va auto compléter

Message édité le 10 mars 2016 à 16:51:49 par PantsuneMiku
TintinMage
TintinMage
Niveau 10
10 mars 2016 à 17:12:42

Par exemple j'ai :
fichiers = ["chat", "chaton" et "chapeau"]
et j'ai :
entré = "chat"
Si je fais :
print([fichier for fichier in fichiers if entré in fichier])
J'aurai :
['chat', 'chaton']

PantsuneMiku
PantsuneMiku
Niveau 10
10 mars 2016 à 17:23:43

Le 10 mars 2016 à 17:12:42 TintinMage a écrit :
Par exemple j'ai :
fichiers = ["chat", "chaton" et "chapeau"]
et j'ai :
entré = "chat"
Si je fais :
print([fichier for fichier in fichiers if entré in fichier])
J'aurai :
['chat', 'chaton']

Je ne cherche pas à parcourir une liste mais à parcourir les résultats de mon ls

TintinMage
TintinMage
Niveau 10
10 mars 2016 à 17:32:50

Les résultats de ton ls c'est pas une liste ?

PantsuneMiku
PantsuneMiku
Niveau 10
10 mars 2016 à 17:41:41

Non, la fonction call appelle une fonction de Linux, cela agit donc en dehors de Python, c'est comme si je faisais ls dans un script en bash, j'agit sur le terminal.

TintinMage
TintinMage
Niveau 10
10 mars 2016 à 17:57:01

Pourquoi utiliser ls ? Tu peux utiliser os.listdir(path)ou os.walk(path)

Message édité le 10 mars 2016 à 17:57:14 par TintinMage
PantsuneMiku
PantsuneMiku
Niveau 10
10 mars 2016 à 18:07:46

Je peux rentrer le résultat de ces fonctions dans une liste ?
Si c'est le cas c'est cool, mais comment je résout mon problème de complétion avec la touche tab derrière ?

TintinMage
TintinMage
Niveau 10
10 mars 2016 à 18:29:01

Ah pour le tab tu peux utiliser Curses je pense
https://docs.python.org/3.5/howto/curses.html

Candystand
Candystand
Niveau 10
10 mars 2016 à 18:39:05

Je sais qu'en C on utilise la fonction glob, j'ai trouvé ça pour Pyhton

https://docs.python.org/2/library/glob.html

Je sais pas si ça correspond à tes attentes

PantsuneMiku
PantsuneMiku
Niveau 10
10 mars 2016 à 19:18:27

Le 10 mars 2016 à 18:39:05 Candystand a écrit :
Je sais qu'en C on utilise la fonction glob, j'ai trouvé ça pour Pyhton

https://docs.python.org/2/library/glob.html

Je sais pas si ça correspond à tes attentes

Je vais regarder ça, merci.

PantsuneMiku
PantsuneMiku
Niveau 10
14 mars 2016 à 14:26:49

glob peut permettre ce genre d'opération mais sert surtout à lister au travers d'une liste les chemins pour mon cas.
La solution au problème s'est effectuée en 2 lignes au final :

   import readline
   readline.parse_and_bind("tab: complete")
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment