Bien le bonjour braves gens,
Je suis en train de créer un script pour des non-programmeurs du coup j'essaye de gérer un maximum de bugs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 # Handling of end lines format (Unix: \n, Mac: \r, Windows: \r\n) try: subprocess.Popen('sed -i \'s/\\r\\n/\\n/g\' ' + sys.argv[1], shell=True, stdout=subprocess.PIPE) os.system('sed -i \'s/\\r/\\n/g\' ' + sys.argv[1]) except OSError: sys.exit('\n ERROR: Sed did not find the input file') # Opening of the input file try: file_in = open(sys.argv[1], 'r') except IOError: sys.exit('\n ERROR: The input file does not exist)
Il y a un truc qui me chiffonne car je ne comprends pas pourquoi, lorsque le fichier input en argument est inexistant, l'exception OSError n'est pas affichée. En lieu de çà, il m'affiche la stderr de sed : "sed: can't read input.txt: No such file or directory" !
J'ai testé avec subprocess.Popen, os.popen et os.system, mais toujours la même incompréhension. Il y a toujours le moyen barbare de virer le message d'erreur avec "2> /dev/null"... Mais çà ne m'explique pas le pourquoi de la chose !
Si quelqu'un à la solution, merci de m'en faire part !
Picui
Partager