De formation Ingé Electronique, j'occupe mon premier emploi dans une boite de Semi-conducteurs depuis Octobre Et comme beaucoup de gens s'en doute le monde de l'entreprise c'est loin de la théorie des études et on se retrouve à faire des trucs moches (d'un point de vu informatique hein ! )...
Voilà donc mon problème que je poste ici parce que le projet regroupe différent langages de prog et système d'exploitation.. Ca commence bien !
Alors voilà dans ma boite certain de nos ATE (Hardware : Automated Test Equipment) sont supportés sous windows et avec des programmes de tests codés en Visual Basic (outch..) et d'autres sous Unix avec es programmes de tests codées en C++. Le problème c'est que tout ce petit monde doit fonctionner en harmonie et des corrélations doivent être faites régulièrement entre tous les programmes. On m'a donc chargé de faire un programme en Python que les utilisateurs pourront ditribuer et executer en standalone sur des PCs seuleemnt équipés de windows (je précise que je n'ai de mot à dire sur aucun des langages, système d'exploitation, etc...).
Mon script appelle des commandes Unix dans la console windows grâce à GOW et os.system
Jusque là je m'en sort plutôt pas mal, seulement un problème "esthétique" me gêne : Mon script à un moment appele la commande suivante (qui fonctionne super) :
os.system("Dos2Unix monfile")
Et cette commande n'est pas silencieuse ce qui fait qu'à chaque fichier converti elle ouvre la console... -_-'
Mais Dos2Unix interprete l'option comme un fichier et non comme une option... Même en tapant cette ligne de commande directement dans la console j'ai toujours le même message :" Dos2Unix: Can't stat '-q' ."
si l'un de vous a une idée soit pour des pistes de recherches, soit pour rendre ma commande os.system silencieuse malgrès le fait que la commande unix ne le soit pas....
Merci beaucoup et au plaisir de discuter !
(Si un admin sait dans quel catégorie ce message à le plus sa place n'hésitez pas à déplacer. merci !)
Si tu peux toujours reporter au lendemain ce que tu devais faire la veille, alors tu as réussi ta vie !
Je vais chercher du coté de GOW en effet bien qu'il permettre l'utilisation de la commande dos2unix je ne suis pas certaine qu'il prenne en compte les flags..
Sinon (mais je pense pouvoir chercher sur le forum python ou unix ou dos...) quels autres moyen efficace existe tíl pour mon script Python pour convertir mes fichiers txt en fichier unix friendly ?
Merci !
Si tu peux toujours reporter au lendemain ce que tu devais faire la veille, alors tu as réussi ta vie !
Aussi, je vois que Dos2Unix te permet de passer plusieurs fichiers en un appel. Il serait intéressant (mais accessoire) de te construire la chaine avec les noms de fichiers "fichier1 fichier2 fichier3" dans ta boucle pour ensuite ne faire qu'un appel à Dos2Unix.
Sinon un script pour passer de un fichier de dos vers unix ça doit être facile à trouver et pas bien compliqué à coder. L'appel à un programme externe pour remplacer les \r\n par des \n ça me semble déjà pas mal overkill.
PS : Je sais pas ce que c'est GOW (à part God Of War ou Gears Of War).
En fouinant du côté des gars de l'IT j'ai choisi d'utiliser une commande "cat" pour ma solution.
cat monfile | tr -d '\r' >monfile
Ca fonctionne bien !
Maintenant je fais appele à plusieurs os.system. Vu que je veux faire ce programme proprement je vais regarder du côté de subprocess pour les remplacer !
Merci bien Baptiste !
Je note comme résolu
Si tu peux toujours reporter au lendemain ce que tu devais faire la veille, alors tu as réussi ta vie !
Commande Unix sous WIN appelée par script Python
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.