Le 14 février 2023 20:53:49 UTC, Olivier Allard-Jacquin <olivieraj@???> a écrit :
> Bonsoir,
>
>Le 14/02/2023 à 21:34, Yth a écrit :
>> Ça va planter si l'indentation n'a pas de sens.
>> En fait, comme la définition des blocs de code est directement liée à l'indentation, c'est le premier point validé par Python.
>> Il est très strict sur l'indentation, vu qu'elle porte du sens.
>> Après ça, filtrer les lignes avec uniquement des espaces, ou les interpréter dans le flux de code, c'est un choix.
>> Vu que les espaces en fin de ligne dans du code python (ou à peu près n'importe quel autre langage que le brainfuck) n'ont jamais aucun intérêt, mais qu'ils en ont toujours en début de ligne, le mieux reste de configurer ton éditeur pour qu'il gicle comme un grand les espaces en fin de ligne et ce problème n'existe plus.
>>
>> De toute façon en Python, de deux choses l'une : soit tu acceptes l'indentation stricte et tu apprécies le langage, soit tu trouves ça débile de donner du sens à l'indentation, et tu vas détester le langage.
> Dans un cas comme cela, est-ce que cela n'a pas un sens que de passer le code par une moulinette qui vide toutes les lignes qui ne contiennent que des espaces et des tabulation ?
>
> Avec un sed par exemple:
>sed -e 's/^[ \t]*$//g' Fichier_IN > Fichier_OUT
>
>ou
>sed -i 's/^[ \t]*$//g' Fichier_IN_OUT
>
> Comme cela le cas dont parles Patrice serait corrigé.
>
> Cordialement,
> Olivier
C'est une solution !
Celle que je préfère c'est
https://editorconfig.org/
Un fichier .editorconfig avec des règles, comme trim_trailing_whitespace=true, et le module editorconfig dans ton éditeur de texte préféré.
C'est très largement répandu dans les éditeurs de code, souvent intégré nativement.
Ça permet de fixer des règles dans un projet en laissant les gens utiliser leur éditeur préféré !
Et paf, dès que tu enregistres ton fichier, plus d'espaces en fin de ligne.
On peut fixer la norme de fin de ligne aussi, à lf plutôt que crlf, et choisir sa taille d'affichage des tabulations, etc.
Très peu de règles, un format simple permettant de s'adapter aux types de fichiers (par exemple on ne fait pas la suppression des espaces de fin de ligne dans le markdown) bref efficace.
- Yth
--