Accueil > Forum > > > > Test sur le "format" d'une chaine de caractères
Test sur le "format" d'une chaine de caractères
samedi 27 février 2010 à 01:41:06 |
Test sur le "format" d'une chaine de caractères

arkwonn
|
Bonjour.
Souhaitant personnaliser un script python, ce que je voudrais coder est un "test de format d'une chaine de caractères".
Concrètement, je souhaite vérifier si une chaine de caractère est au format d'une clé WEP 64 ou 128 bits, càd selon les schémas suivant:
XXXXXXXXXX
XX:XX:XX:XX:XX
XXXXXXXXXXXXXXXXXXXXXXXXXX
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
De plus les caractères (X) ne peuvent être que:
0;1;2;3;4;5;6;7;8;9;A;B;C;D;E;F
N'ayant que des bases et de faibles notions en python, ceci me restreint à le faire avec une suite de if, et verifier la correspondance de chaque caractère...
Ceci etant fastidieux, très long et épuisant, je me demandais s'il etait possible de réaliser cela avec le moins de lignes de codes possible.
Merci de votre réponse
|
|
lundi 1 mars 2010 à 22:20:51 |
Re : Test sur le "format" d'une chaine de caractères

lespinx
|
Réponse acceptée !
Bonsoir,
Ci-joint une proposition pour tenter de répondre au problème posé.
Je propose de faire 3 contrôles:
Un contrôle de longueur de chaines
Un contrôle de validité des caractères
Un contrôle de format
Code Python : # -*- coding: ISO-8859-15 -*-
import sys
#"XXXXXXXXXX" Longueur = 10
#"XX:XX:XX:XX:XX" Longueur = 14
#"XXXXXXXXXXXXXXXXXXXXXXXXXX" Longueur = 26
#"XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX" Longueur = 38
#La liste contient les caractères autorisées
lst_ref_car = [":","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"]
#La liste contient les longueurs de chaines autorisées
lst_ref_long = [10,14,26,38]
#chaine = "ABCDEF01x:"
#chaine = "AB:CD:EF:12::3"
#chaine = "AB:CD:EF:12:32"
chaine = "AB:CD:EF:01:23:45:67:89:AA:BB:CC:DD:EE"
#1-Contrôle de la longueur des chaines
long = len(chaine)
if long in lst_ref_long:
print "OK : Longueur correcte ", chaine, " a une longueur de :", long
else:
print "ERROR : Longueur incorrecte ", chaine, " a une longueur de :", long
sys.exit()
#2-Contrôle de la validité des caractères
for car in chaine:
if car not in lst_ref_car:
print "ERROR : dans la chaine ",chaine, " le caractere >" ,car ,"< n'est pas autorisé"
sys.exit()
print "OK : La chaine " ,chaine ," contient des caractères autorisés"
#3-Contrôle des formats
#Les chaines de longueur 10 ou 26 ne doivent pas contenir le caractère ":"
if long == 10 or long == 26:
if chaine.find(":") >= 0:
print "ERROR : dans la chaine ",chaine, " le caractere > : < n'est pas autorisé"
else:
print "OK : Format de >", chaine, " est correct"
#Les chaines de longueur 14 ou 28 doivent contenir ":" tous les deux caractères (XX:)
if long == 14 or long == 38:
#La méthode SPLIT renvoie une LIST découpée sur l'argument ":"
# chaque élément de la liste doit avoir une longuer de 2 caractères
lst_test = chaine.split(":")
for element in lst_test:
if len(element) != 2:
print "ERROR : Format incorrect dans la chaine ",chaine, " le caractere > : < est mal positionné"
sys.exit()
print "OK : Le format de la chaine ", chaine, " est correct"
Je n'ai pas testé tous les cas de figure.
En espérant avoir répondu à la question.
|
|
lundi 1 mars 2010 à 22:31:53 |
Re : Test sur le "format" d'une chaine de caractères

arkwonn
|
Merci beaucoup ! Ce script marche à merveille, et résout mon problème =D
Je n'ai plus qu'a l'adapter !
Merci lespinx !
|
|
Cette discussion est classée dans : xx, format, chaine, test, caractères
Répondre à ce message
Sujets en rapport avec ce message
Transformer une liste en chaine de caractères [ par fredouzzz ]
Bonjour, j'ai une liste stockée dans une variable (result_set) j'aimerais convertir cette liste en une chaîne de caractère. Par exemp
transfomer une liste en chaine de caractères [ par bossou ]
Bonjour à tous. J'ai la liste suivante: ['USLUC1', '30422423', '05/11/2009', '24.20', 'USD', 'CHASUS33XXX','', '', '', '', '', '', '3630900'] et j
chaine de caractères [ par bossou ]
Bonjour.j'ai un fichier texte où je récupère une ligne en faisant une recherche sur un mot.la ligne récupérée contient plusieurs points virgules exemp
Remplacement d'une chaine de caractère dans un fichier *.txt [ par Boy63 ]
Bonjour,J'aimerais savoir comment remplacer une partie précise d'une chaine de caractère par une autre dans un fichier *.txt. Je m'explique un peu plu
{Python} remplacer des caractere dans une chaine [ par Yann2704 ]
Bonjours, Python 2.6.1 ... ... Win 32 ... ... >>> c1 = "plop" >>> c2 = "blabla" >>> print c1[3] p >>> print c2[3] b >>> c1[3] = c2[3] Traceback (mos
écrire équation contenant des caractères grec sur le pannel wx [ par zannguyen ]
Bonjour, Je voudrais écrire une équation mathématique contenant des caractères grecs dans un panel de wxPython. Il est très bien si on peut écrire av
Code Napoleon [ par FlyingCevenol ]
Bonjour, je suis débutant sur Python et je souhaite générer un code d'encodage et décodage de code "Cesar" (Par exemple, le décalage est de 3, la let
probleme avec karrigell [ par majiddus ]
bonjour je suis debutant en python,dans le but d'heberger un site web, j'ai installé le serveur karrigell,a partir de mon resau local tout marche bien
enregistrer un fichier .txt avec caractères accentués [ par Mic92 ]
Bonjour à tous J'enregistre dans une BDD (sqlite) pas de problème les caractères accentués sont enregistré, Mais si je veux enregistrer une fichier .
Convertir chaine de caractère [ par basmaber ]
Bonsoir J'ai créé un programme qui récupère des données provenant d'un fichier texte qui contient plusieurs valeurs 10 colonnes et 63 lignes. Les donn
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|