Récupère les noms des l'imprimantes dans une liste

Fermé
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 - Modifié le 1 mars 2018 à 09:39
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 1 mars 2018 à 19:22
Bonjour,

Je suis sur kubuntu 14.04 x64 et python 2.7.6
J'ai besoin de récupérer la liste des imprimante active et installé dans une liste.

import subprocess
cmd = "lpstat -p | awk '{ print $2 }'"
x = os.popen(cmd,'r',1)
x

liste_nom_imprimante = []
for index, element in enumerate(x):
liste_nom_imprimante.append(element)

print liste_nom_imprimante


retour en ligne de commande
laurent@serveur-MS-7522:~$ python /home/laurent/Langages/python/2.7.6/imprimantes/imprimantes-2.py
['BRFAX\n', 'MFC6490CW\n', 'MFC9140CDN\n', 'MFC9340CDW\n', 'PDF\n']
0 BRFAX

1 MFC6490CW

2 MFC9140CDN

3 MFC9340CDW

4 PDF

laurent@serveur-MS-7522:~$


Le problème est que lorsque je récupère les noms des l'imprimantes dans la liste a chaque fin de non, il y a un \n

Commande puis-je résoudre le problème ?

Merci.



A voir également:

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 1 mars 2018 à 19:28
Salut xunil2003,

Tu peux probablement utiliser la méthode .rstrip() sur ton element avant de l'ajouter à ta liste

essaye :
liste_nom_imprimante.append(element.rstrip()) 


https://docs.python.org/3/library/stdtypes.html#str.rstrip

str.rstrip([chars])

Return a copy of the string with trailing characters removed. The chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a suffix; rather, all combinations of its values are stripped:

>>> ' spacious '.rstrip()
' spacious'
>>> 'mississippi'.rstrip('ipz')
'mississ'


Cela va supprimer tout caractère blanc à la fin de la chaîne (y compris les retours à la ligne, qui sont "blancs").

Pour spécifier seulement les retours à la ligne, fait
element.rstrip('\n')


Il y a d'autres façons de faire.


Dal
0