Ici il a utilisé la fonction exit() de ce module qui permet de sortir du programme en envoyant un code retour. Je ne vois pas trop pourquoi d’ailleurs car avec la bonne condition dans le while le programme sort de la boucle et envoi exit(0) tout seul parce qu’il a arrive à la fin du script.
Avec les sys.exit(0) là où il les a mis on pourrait faire while True pour le coup. Vu que le programme se terminerait si l’une des conditions (total in gagne) ou (total in perdu) était remplie.
while total != gagne or perdu:
ça fait while (total != gagne), qui est toujours vrai puisqu’ils n’ont pas le même type, OU perdu, donc la condition est toujours vraie.
Définitivement, en Python, 2 & 3, comparer un entier à une liste n’a pas de sens.
Il faut utiliser element in list pour savoir si un élément se trouve dans une liste, comme l’a montré pstk. Par contre j’ai un problème avec la condition pour le while dans son code.
Je n’ai pas testé mais il doit être possible d’utiliser un fichier d’entrée contenant des wildcards, pour une vérification ou un forçage sur un ensembles de fichiers.
Mais oui, si les fichiers sont répartis sur les deux disques mais qu’aucun n’est splité, tout ce qui est sur le disque encore en état de marche sera accessible.
Posté par Marotte ⛧ .
En réponse au message SSD dans un serveur ?.
Évalué à 3.
Dernière modification le 28 octobre 2016 à 18:57.
Ah, en effet je viens de débrancher un des disques et le raid0 ne fonctionne complètement plus (même après avoir rebranché le disque et redémarré la machine).
C'est un truc de ouf comme aucun des logiciels de raid sous linux ne fonctionne correctement.
C’est normal que tu perdes tout si tu as un RAID-0 sur deux disques et que l’un d’entre-eux lâche. Le RAID fonctionne plutôt pas mal sous Linux…
Si tu as deux disques et que tu veux ne rien perdre quand l’un lâche il faut qu’ils soient en RAID-1 (mirroring).
Et que dire de l'abandon du magsafe ? c'est une grande perte pour l'industrie.
Le but du magsafe c’était de pas risquer de péter la connectique quand Régis se prend les pieds dans le câble. Avec un connecteur traditionnel il y aura peut-être plus de remplacement de machine, au contraire, c’est bon pour l’industrie !
J’ai toujours trouvé que c’était une super idée (peut-être le seul truc vraiment révolutionnaire sur les portables Apple !) et tous les gens qui ont des Mac autour de moi m’ont toujours dit « ouai c’est super. »
Posté par Marotte ⛧ .
En réponse au message Git.
Évalué à 2.
Oui mais ça c’est quand tu veux faire un dépôt local de travail. Or tu ne peux pas le faire à partir d’un dépôt "bare" qui n’a pas déjà une branche configurée.
C’est la manière de créer et de configurer cette branche initiale (qu’on pourra ensuite cloner) sur ce dépôt "bare", qui sert de référence, que j’avais du mal à comprendre.
Lorsque que l’on initialise un dépôt de travail vide (non "bare") et que l’on fait un premier commit cette branche est créée et s’appelle 'master'. Lors d’un clone tout ce fait automatiquement aussi.
Mais j’essayais de bien comprendre toutes les étapes intermédiaires. Sinon j’aurais rien compris à la suite :)
parce qu'il n'y a pas besoin de démarrer rapidement le serveur.
Avoir des IO qui poutrent ça ne sert pas qu’au démarrage…
Sinon, si c'est la mémoire flash qui t'intéresse et que tu veux économiser un emplacement 3.5 ou 2.5, tu peux utiliser une clé USB si tu dispose d'un port adéquat sur la carte mère. Mais à voir si tu peux installer ton OS et démarrer sur la clé.
Je sais pas en USB-3 mais en USB-2 on perd tout l’intérêt de la mémoire flash… vu le débit du bus USB-2…
Posté par Marotte ⛧ .
En réponse au message Git.
Évalué à 3.
Merci.
Effectivement, je découvre que git ne se préoccupe absolument pas des autorisations (ce qui est normal car ce n’est pas son boulot…). Si j’ai bien compris, pour les gérer les droits sans utiliser une surcouche comme gitolite on a deux possibilités :
les permissions UNIX
les ACL
ça ne permet pas de gérer les autorisations par branche mais ça permet déjà de les gérer par dépôt.
Quitte à me pencher sur les surcouches à git je lorgne du côté de gitlab qui semble offrir de nombreuses fonctionnalités, permet-il de gérer finement les autorisations ?
Tu aurais dû apt-cache cherché ;) (j’ai cherché xls2csv)
$ apt-cache show catdoc
Package: catdoc
Version: 1:0.94.3~git20160113.dbc9ec6+dfsg-1
Installed-Size: 666
Maintainer: Martín Ferrari tincho@debian.org
Architecture: amd64
Depends: libc6 (>= 2.14)
Suggests: tk | wish
Description-fr: convertisseur de fichiers Word, Excel et PowerPoint vers du texte brut
Le programme catdoc lit un ou plusieurs fichiers Microsoft Word et écrit le
texte contenu vers la sortie standard.
. Il est maintenant accompagné de xls2csv, un programme convertissant les
feuilles de calcul Excel vers un fichiers csv (comma-separated value), et
catppt, un outil d'extraction des informations textuelles depuis les
fichiers Powerpoint.
S’il ne s’agit pas d’une image ISO dite « hybride » elle ne démarrera qu’à partir d’un lecteur optique, donc kvm -cdrom /dev/sdc devrait le faire. Par contre si c’est le cas, elle ne démarrera pas non plus si tu essayes de booter directement ta machine physique avec…
le tout sur différentes lignes mais avec un retour chariot si tu veux, ce n'est pas dû à la taille de la celulle
Fais un export en CSV, si c’est juste qu’il y a des retours à la ligne dans la cellule ça ira bien dans la même « cellule » du fichier CSV, soit en remplaçant les retours à la ligne par des espaces, soit en les conservant et en les échappant, exemple :
toto;titi;truc sur une ligne;hop
dédé;jojo;truc\nsur\nplusieur\nlignes;plop
Pour être plus précis sur « retour chariot » et « fin de ligne », parce que c’est un écueil dans l’informatique…
« Retour chariot » (CARRIAGE RETURN) et « Saut de ligne » (LINE FEED) sont deux caractères différents. À l’origine ils servaient exactement à ce qu’ils sont censés faire : le premier pour dire à l’imprimante de ramener son chariot au début de la ligne et le second pour dire, toujours à l’imprimante, de faire avancer le papier d’une ligne. Pour un écran d’ordinateur ça n’a plus de sens, donc on utilise l’un de ces caractères pour signifier simplement « fin de ligne ». Et là où c’est magnifique, la source d’un nombre incalculable d’incidents informatiques… pour les fichiers textes :
mon fichier est construit un peu différemment en fait :
Pourquoi tu l’as présenté comme tu l’as fait alors ? o_O
C’est bien d’un document Excel dont on parle ? Dans ce cas la première étape c’est de l’exporter en CSV… Et nous montrer exactement (en utilisant les bonnes balises : https://linuxfr.org/wiki/aide-edition#code ) à quoi il ressemble ;)
NB : il manquait les ; ?
Oui, avant chaque instruction 'next'…
Pour en revenir à la première apostrophe manquante, le fait que tu aies '>' (il s’agit du prompt de deuxième niveau…) devrait te mettre sur la voie. En effet, si le shell te met ça c’est qu’il attend la suite de la commande ! Vu que la première apostrophe indique le début d’une chaîne de caractères non-interprétée, quand tu appuies sur entrée il considère que tu veux entrer un caractère "fin de ligne" dans cette chaîne et pas valider la commande (ce à quoi tu t’attendais)
Pour comprendre c’est très simple, essaye :
$ echo 'toto
tu vas arriver sur le prompt de deuxième niveau, là tu rentres :
> titi'
(note que dans la première commande '$' désigne le prompt de premier niveau, il ne faut pas le taper. Dans la deuxième commande '>' représente le prompt de deuxième niveau, il ne faut le taper non plus…). C’est configurable (pas obligé d’utiliser '$' et '>') mais par convention c’est ce qui est utilisé partout…
en sortie tu auras :
toto
titi
avec un retour à la ligne entre les deux mots. Tu as rentré sur deux lignes une commande qu’on aurait pu écrire sur une ligne : $ echo "toto\ntiti" (entre les guillemets doubles la suite de deux caractères \n représente le caractère "fin de ligne")
[^] # Re: une proposition
Posté par Marotte ⛧ . En réponse au message aide pour invalid syntax ... Évalué à 3. Dernière modification le 30 octobre 2016 à 22:21.
Pour sys tu peux aller voir là https://docs.python.org/3/library/sys.html, ce serait trop long à expliquer…
Ici il a utilisé la fonction exit() de ce module qui permet de sortir du programme en envoyant un code retour. Je ne vois pas trop pourquoi d’ailleurs car avec la bonne condition dans le while le programme sort de la boucle et envoi exit(0) tout seul parce qu’il a arrive à la fin du script.
Avec les sys.exit(0) là où il les a mis on pourrait faire
while True
pour le coup. Vu que le programme se terminerait si l’une des conditions (total in gagne) ou (total in perdu) était remplie.ça fait while (total != gagne), qui est toujours vrai puisqu’ils n’ont pas le même type, OU perdu, donc la condition est toujours vraie.
Pour l’opérateur 'in' c’est tout simple :
[^] # Re: une proposition
Posté par Marotte ⛧ . En réponse au message aide pour invalid syntax ... Évalué à 2.
Définitivement, en Python, 2 & 3, comparer un entier à une liste n’a pas de sens.
Il faut utiliser
element in list
pour savoir si un élément se trouve dans une liste, comme l’a montré pstk. Par contre j’ai un problème avec la condition pour le while dans son code.Je ferais :
[^] # Re: une proposition
Posté par Marotte ⛧ . En réponse au message aide pour invalid syntax ... Évalué à 2.
Il n’a pas précisé que c’était un problème de syntaxe. J’ai eu la même réaction que toi : il faut un 'or' et pas un 'and'.
Par contre je pense qu’il faut des parenthèses car '!=' est prioritaire sur 'or' :
Cela dit, après réflexion (et test), comparer un scalaire à une liste ne permet pas de checker si le scalaire est dans cette liste…
et :
list1 or list2
semble renvoyer list1 (logique…).# À tester
Posté par Marotte ⛧ . En réponse au message Manipulation des permissions Unix. Évalué à 2.
Je n’ai pas testé mais il doit être possible d’utiliser un fichier d’entrée contenant des wildcards, pour une vérification ou un forçage sur un ensembles de fichiers.
[^] # Re: 2016
Posté par Marotte ⛧ . En réponse au journal Gestion des erreurs d’allocation mémoire en C. Évalué à 5.
Pfff… 16GB ought to be enough for anyone.
[^] # Re: prems
Posté par Marotte ⛧ . En réponse au journal Le courage de l'innovation. Évalué à 2.
Apple a développé une batterie qui se décharge jamais ?
[^] # Re: solution 3
Posté par Marotte ⛧ . En réponse au message Git. Évalué à 2. Dernière modification le 29 octobre 2016 à 18:08.
C’est bien ça le principe si je ne m’abuse.
J’ai pas testé mais c’est ce que j’ai pu comprendre en effet : on ne peut pousser que vers un dépôt "bare".
Cela dit, au besoin, on peut créer un dépôt de référence à partir d’un dépôt de travail avec un
git clone --bare …
[^] # Re: prems
Posté par Marotte ⛧ . En réponse au journal Le courage de l'innovation. Évalué à 2.
Par quoi vont-ils remplacer magsafe ? Parce qu’avec une connectique traditionnelle ça a encore plus de chance d’emporter la machine non ?
[^] # Re: Attends quelques années. :)
Posté par Marotte ⛧ . En réponse au message SSD dans un serveur ?. Évalué à 3.
Pour moi on ne devrait pas parler de RAID 0 dans ce cas. C’est un abus de langage.
https://fr.wikipedia.org/wiki/RAID_%28informatique%29#RAID_0_:_volume_agr.C3.A9g.C3.A9_par_bandes
Mais oui, si les fichiers sont répartis sur les deux disques mais qu’aucun n’est splité, tout ce qui est sur le disque encore en état de marche sera accessible.
[^] # Re: Attends quelques années. :)
Posté par Marotte ⛧ . En réponse au message SSD dans un serveur ?. Évalué à 3. Dernière modification le 28 octobre 2016 à 18:57.
C’est normal que tu perdes tout si tu as un RAID-0 sur deux disques et que l’un d’entre-eux lâche. Le RAID fonctionne plutôt pas mal sous Linux…
Si tu as deux disques et que tu veux ne rien perdre quand l’un lâche il faut qu’ils soient en RAID-1 (mirroring).
[^] # Re: prems
Posté par Marotte ⛧ . En réponse au journal Le courage de l'innovation. Évalué à 6.
Le but du magsafe c’était de pas risquer de péter la connectique quand Régis se prend les pieds dans le câble. Avec un connecteur traditionnel il y aura peut-être plus de remplacement de machine, au contraire, c’est bon pour l’industrie !
J’ai toujours trouvé que c’était une super idée (peut-être le seul truc vraiment révolutionnaire sur les portables Apple !) et tous les gens qui ont des Mac autour de moi m’ont toujours dit « ouai c’est super. »
[^] # Re: solution 3
Posté par Marotte ⛧ . En réponse au message Git. Évalué à 2.
Oui mais ça c’est quand tu veux faire un dépôt local de travail. Or tu ne peux pas le faire à partir d’un dépôt "bare" qui n’a pas déjà une branche configurée.
C’est la manière de créer et de configurer cette branche initiale (qu’on pourra ensuite cloner) sur ce dépôt "bare", qui sert de référence, que j’avais du mal à comprendre.
Lorsque que l’on initialise un dépôt de travail vide (non "bare") et que l’on fait un premier commit cette branche est créée et s’appelle 'master'. Lors d’un clone tout ce fait automatiquement aussi.
Mais j’essayais de bien comprendre toutes les étapes intermédiaires. Sinon j’aurais rien compris à la suite :)
[^] # Re: perseverer
Posté par Marotte ⛧ . En réponse au message gftp et la taille des fichiers. Évalué à 2.
Pour qu’il fasse suivre où ?
Le site officiel indique 2.0.19 (11/30/2008)
Sinon il y a le git du projet Gnome : https://git.gnome.org/browse/gftp/
et le dernier tag est pour la 2.0.17…
Je ne trouve pas d’autre dépôt, ni bug tracker…
Le projet me semble moribond. En tous cas comparé à Filezilla : https://svn.filezilla-project.org/filezilla/
Cela dit le responsable du package en sait peut-être plus…
[^] # Re: lopin compris
Posté par Marotte ⛧ . En réponse au journal La conférence de Microservice. Évalué à 8.
C’est quand le barman te sert une pression avec la moitié du verre remplie de mousse : c’est un mi-Krö service
(Unité mobile champêtre de mi-Krö service, crédit photo : Roger Tautoze ©)
[^] # Re: lopin compris
Posté par Marotte ⛧ . En réponse au journal La conférence de Microservice. Évalué à 4.
Une faute par phrase ! :)
# gFTP
Posté par Marotte ⛧ . En réponse au message gftp et la taille des fichiers. Évalué à 2.
https://www.gftp.org/
Si c’est un bug il y a peu de chance qu’il soit corrigé un jour.
Je serais toi j’arrêterais de l’utiliser.
[^] # Re: Bad idea
Posté par Marotte ⛧ . En réponse au message SSD dans un serveur ?. Évalué à 5.
Avoir des IO qui poutrent ça ne sert pas qu’au démarrage…
Je sais pas en USB-3 mais en USB-2 on perd tout l’intérêt de la mémoire flash… vu le débit du bus USB-2…
[^] # Re: strictement équivalent
Posté par Marotte ⛧ . En réponse au message Git. Évalué à 3.
Merci.
Effectivement, je découvre que git ne se préoccupe absolument pas des autorisations (ce qui est normal car ce n’est pas son boulot…). Si j’ai bien compris, pour les gérer les droits sans utiliser une surcouche comme gitolite on a deux possibilités :
ça ne permet pas de gérer les autorisations par branche mais ça permet déjà de les gérer par dépôt.
Quitte à me pencher sur les surcouches à git je lorgne du côté de gitlab qui semble offrir de nombreuses fonctionnalités, permet-il de gérer finement les autorisations ?
[^] # Re: awk avec précautions
Posté par Marotte ⛧ . En réponse au message [boulot] script pour récupérer des données. Évalué à 2.
Tu aurais dû apt-cache cherché ;) (j’ai cherché xls2csv)
[^] # Re: ISO Hybride ?
Posté par Marotte ⛧ . En réponse au message tester une clé USB bootable sans rebooter. Évalué à 2.
Tu as bien fait ta clé avec :
dd if=tonfichier.iso of=/dev/sdc
?Sinon… une option de KVM pour désactiver le boot PXE (même si je vois pas bien l’intérêt…) ?
Il y a un menu de boot quand la VM démarre (F12)…
# ISO Hybride ?
Posté par Marotte ⛧ . En réponse au message tester une clé USB bootable sans rebooter. Évalué à 2.
S’il ne s’agit pas d’une image ISO dite « hybride » elle ne démarrera qu’à partir d’un lecteur optique, donc
kvm -cdrom /dev/sdc
devrait le faire. Par contre si c’est le cas, elle ne démarrera pas non plus si tu essayes de booter directement ta machine physique avec…Mais je peux me tromper…
[^] # Re: .
Posté par Marotte ⛧ . En réponse au message le centre "software & updates" ne se lance plus.. Évalué à 2. Dernière modification le 25 octobre 2016 à 17:27.
# software-center
Enfin c’est au moins le nom du package (de mémoire c’est le nom du programme aussi), je peux pas tester je l’ai viré de ma VM Ubuntu :)
[^] # Re: awk avec précautions
Posté par Marotte ⛧ . En réponse au message [boulot] script pour récupérer des données. Évalué à 2.
"saut de ligne" pour être exact.
[^] # Re: awk avec précautions
Posté par Marotte ⛧ . En réponse au message [boulot] script pour récupérer des données. Évalué à 3.
Fais un export en CSV, si c’est juste qu’il y a des retours à la ligne dans la cellule ça ira bien dans la même « cellule » du fichier CSV, soit en remplaçant les retours à la ligne par des espaces, soit en les conservant et en les échappant, exemple :
toto;titi;truc sur une ligne;hop
dédé;jojo;truc\nsur\nplusieur\nlignes;plop
Pour être plus précis sur « retour chariot » et « fin de ligne », parce que c’est un écueil dans l’informatique…
« Retour chariot » (CARRIAGE RETURN) et « Saut de ligne » (LINE FEED) sont deux caractères différents. À l’origine ils servaient exactement à ce qu’ils sont censés faire : le premier pour dire à l’imprimante de ramener son chariot au début de la ligne et le second pour dire, toujours à l’imprimante, de faire avancer le papier d’une ligne. Pour un écran d’ordinateur ça n’a plus de sens, donc on utilise l’un de ces caractères pour signifier simplement « fin de ligne ». Et là où c’est magnifique, la source d’un nombre incalculable d’incidents informatiques… pour les fichiers textes :
Unix/Linux → LF (LINE FEED)
OSX → CR (CARRIAGE RETURN)
Windows → CRLF (les deux)
Et un transfert FTP en mode ASCII peut, à la discrétion du serveur, faire la conversion de ces fins de lignes :)
C’est vraiment tout con mais j’ai vu tellement d’informaticiens l’ignorer que je n’ai pas écrit tout ceci seulement pour toi :)
[^] # Re: awk avec précautions
Posté par Marotte ⛧ . En réponse au message [boulot] script pour récupérer des données. Évalué à 2.
Pourquoi tu l’as présenté comme tu l’as fait alors ? o_O
C’est bien d’un document Excel dont on parle ? Dans ce cas la première étape c’est de l’exporter en CSV… Et nous montrer exactement (en utilisant les bonnes balises : https://linuxfr.org/wiki/aide-edition#code ) à quoi il ressemble ;)
Oui, avant chaque instruction 'next'…
Pour en revenir à la première apostrophe manquante, le fait que tu aies '>' (il s’agit du prompt de deuxième niveau…) devrait te mettre sur la voie. En effet, si le shell te met ça c’est qu’il attend la suite de la commande ! Vu que la première apostrophe indique le début d’une chaîne de caractères non-interprétée, quand tu appuies sur entrée il considère que tu veux entrer un caractère "fin de ligne" dans cette chaîne et pas valider la commande (ce à quoi tu t’attendais)
Pour comprendre c’est très simple, essaye :
$ echo 'toto
tu vas arriver sur le prompt de deuxième niveau, là tu rentres :
> titi'
(note que dans la première commande '$' désigne le prompt de premier niveau, il ne faut pas le taper. Dans la deuxième commande '>' représente le prompt de deuxième niveau, il ne faut le taper non plus…). C’est configurable (pas obligé d’utiliser '$' et '>') mais par convention c’est ce qui est utilisé partout…
en sortie tu auras :
avec un retour à la ligne entre les deux mots. Tu as rentré sur deux lignes une commande qu’on aurait pu écrire sur une ligne :
$ echo "toto\ntiti"
(entre les guillemets doubles la suite de deux caractères\n
représente le caractère "fin de ligne")