python3 semble ne pas pouvoir comparer les string issus de la ligne de commande avec les string python
Bonjour,
Comme indiqué dans ce sujet (https://www.developpez.net/forums/d1...g/) je cherche à appeler des commande depuis python, récupérer les résultat et les traiter.
Voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
# code de battant
def runcommand (command) :
"""
code extrait de :
https://docs.python.org/3.5/library/subprocess.html
http://stackoverflow.com/questions/2804543/read-subprocess-stdout-line-by-line """
output = ""
try :
proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
outputbyte = proc.stdout.read()
output = outputbyte.decode()
except UnicodeEncodeError :
print ("Une erreur et survenue lors de la conversion de byte à string",sys.stderr())
traceback.print_exc(file=sys.stderr) # ligne issus de : https://docs.python.org/3.5/library/traceback.html
finally :
return output
output1 = runcommand("cat tab_carractère_spéciaux.csv | cut -f1 | grep \"\.\"")
chaine = self.test = test
for j in chaine
if j = ""
output1 = runcommand(grep \"\.\"")
else
output1 = runcommand ("grep \"{0}\"").format(j)
if output1 != "" :
if output1 == (".") :
# resultat attendu : le programme devrait passer ici lorsquu'il trouve un point dans la ligne de commande
output2 = runcommand("grep \"{0}\" myfile".format("\."))
elif output1 != "" :
le programme semble paser ici quand il rencontre un point dans la ligne de command
output2 = runcommand("grep \"{0}\" myfile".format(output1))
chaine += output2
else
chaine += j |
Question : pourquoi le programme compare mal les chaine issus des résultat de la ligne de commande une sring normal python3
Est-ce pour cette raison que python ne reconnait pas quand output1 == "." mais reconnais que output1 ü= "" ?
Merci pour votre aide
Salutations
Mettre les fichier csb dans un dictionnaire
Bonjour,
Il faudrait que je mette le contenu de mon fichier csv dans un dictionnaire.
y'a-t-il d'autre moyen pour ce faire qu'en passant par unpickle, read et splite comme par exemple avecv un module pour traiter les fichiers csv ?
Merci pour votre aide
Salutations