#1251 Le 04/06/2013, à 01:22
- tshirtman
Re : /* Topic des codeurs [8] */
Ah mais je pense que dans cette branche on attends pas de toi forcément d'être productif tout de suite (avec 0 considération pour la qualité) justement, je pense que si le domaine t'intéresse, tu devrais pouvoir trouver des boites ou tu peux monter en compétences là dessus . Enfin, c'est une idée quoi, je sais en tout cas que ça manque plus que les devs webs.
edit: Ah, et t'as mis ton CV sur lolix, quand même?
Dernière modification par tshirtman (Le 04/06/2013, à 01:23)
Hors ligne
#1252 Le 04/06/2013, à 08:35
- The Uploader
Re : /* Topic des codeurs [8] */
Bah ce qui est sûr c'est que j'espère pas toujours faire du Web.
Pas pensé à lolix, j'y vais de ce pas.
Dernière modification par The Uploader (Le 04/06/2013, à 08:49)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#1253 Le 04/06/2013, à 19:52
- ljere
Re : /* Topic des codeurs [8] */
bonsoir tout le monde
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#1254 Le 04/06/2013, à 20:06
- grim7reaper
Hors ligne
#1255 Le 04/06/2013, à 20:21
- Dr Le Rouge
Re : /* Topic des codeurs [8] */
@ The Uploader : si tu veux te mettre à la sécurité de l'information, tu peux jeter un œil au Matasano challenge.
C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog
Hors ligne
#1256 Le 04/06/2013, à 20:43
- grim7reaper
Re : /* Topic des codeurs [8] */
Ptain, en plus des défis, ça semble une boîte assez sympatoche (ça semble être des passionnés, du Ruby en principal langage, du C aussi, travail sur de la sécu’, bouquin gratos en illimité sur Amazon, …).
Le processus de recrutement semble assez trapu, mais le jeu en vaut la chandelle.
Dernière modification par grim7reaper (Le 04/06/2013, à 20:43)
Hors ligne
#1257 Le 04/06/2013, à 20:56
- Rolinh
Re : /* Topic des codeurs [8] */
Ça a l'air bien chouette ce principe de défis. Je vais tâcher de trouver le temps de m'y essayer cet été. Surtout que bosser dans la sécurité informatique est un truc qui me titille de plus en plus.
J'ai participé au concours organisé dans le cadre d'insomnihack (des conférences sur le hacking qui se termine par un concours) en mars dernier. J'y ai vraiment pris mon pied et une chose est sûre, j'y retourne l'année prochaine mais bien préparé cette fois. Tout se déroule dans une ambiance sympa même si d'autres ne sont pas venu "en touriste" comme moi. D'ailleurs, la boite qui organise ce concours donne franchement envie d'aller y bosser (un pote à moi a été y suivre une formation). Grand open-space, pause café au bon vouloir, ambiance très détendue (il y a même une borne arcade maison (pc linux + émulateur) pour se détendre), bon salaire... Et ceux qui bossent là-bas sont bien calés, chacun dans leur domaine respectif.
Hors ligne
#1258 Le 05/06/2013, à 07:43
- ljere
Re : /* Topic des codeurs [8] */
ok je recommence en python
print ("bonjour tout le monde")
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#1259 Le 05/06/2013, à 10:45
- grim7reaper
Hors ligne
#1260 Le 05/06/2013, à 13:19
- tshirtman
Re : /* Topic des codeurs [8] */
Ça a l'air sympa les challenges crypto, je leur ai envoyé un ptit mail du coup, on verra bien
Hors ligne
#1261 Le 05/06/2013, à 13:59
- grim7reaper
Re : /* Topic des codeurs [8] */
Ça me tente bien aussi.
Sauf que là j‘ai juste absolument pas de temps pour ça >_<, donc ça attendra.
Hors ligne
#1262 Le 07/06/2013, à 10:54
- Mindiell
Re : /* Topic des codeurs [8] */
@tshirtman: ayé, le couperet est tombé, ils m'ont choisi moi \o/
Hors ligne
#1263 Le 07/06/2013, à 15:20
- ljere
Re : /* Topic des codeurs [8] */
après pas mal de recherche je demande un coup de main car je n'ai plus d'idée (je débute en python)
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# ========================================================================================
#
# Script de ljere
# license GPL V3 or later
#
# Description :
# Ce script permet de visualiser les mangas en vostfr que je peux télécharger
#
# ========================================================================================
# -----------------------------------------------
# Ajout de bibliothèques utiles
# -----------------------------------------------
# BeautifulSoup est une librairie permettant d'analyser un arbre (du HTML ici)
import bs4
# urllib est une librairie permettant d'ouvrir des URLs simplement (plutôt en HTTP ici)
import urllib.request
# téléchargement de la liste des mangas en vostfr dans un fichier nyaa.txt
url = urllib.request.urlopen("http://www.nyaa.eu/?page=search&cats=0_0&filter=0&term=vostfr").read()
# parsing Html
soup = bs4.BeautifulSoup(url)
soup.prettify()
for link in soup.find_all('a'):
nyaa = (link.get_text())
fichier = open (("nyaa.txt"),'wb') # j'ai testé fichier = open ("nyaa.txt", 'wb')
fichier.write(nyaa.encode('utf-8')) # si je ne met pas .encode('utf-8') j'ai "TypeError: 'str' does not support the buffer interface"
fichier.close()
aucune erreur mais le fichier nyaa.txt reste vide
j'ai essayé au fur et à mesure dans ma console la variable nyaa existe
le but finale est de n'avoir que les titres des mangas
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#1264 Le 07/06/2013, à 15:53
- grim7reaper
Re : /* Topic des codeurs [8] */
fichier = open (("nyaa.txt"),'wb') # j'ai testé fichier = open ("nyaa.txt", 'wb')
Le voilà le problème.
Tu ouvres en mode écriture (w pour write). Or, la doc’ nous dit :
open for writing, truncating the file first
Donc si le fichier existe, tu l’écrases (truncating signifie que tu remets sa taille à zéro). C’est pas spécifique à Python, tous les langages à ma connaissance font comme cela.
Donc au final, dans le fichier tu avais juste le texte du dernier lien (qui était vide, d’où le fichier vide).
Il faut donc utiliser le mode ajout (a pour append).
Sinon, pas besoin du b (tu écris du texte, pas du binaire).
Sinon, ouvrir et fermer le fichier à chaque tour de boucle, c’est pas jojo. Je verrais plus le code comme ça :
#!/usr/bin/python3
from bs4 import BeautifulSoup
from urllib.request import urlopen
url = urlopen("http://www.nyaa.eu/?page=search&cats=0_0&filter=0&term=vostfr").read()
soup = BeautifulSoup(url)
with open('nyaa.txt', 'w', encoding='utf-8') as fp:
for link in soup.find_all('a'):
nyaa = link.get_text()
fp.write(nyaa)
Comme le fichier est ouvert une seule fois, on peut utiliser le mode w.
Maintenant, quelques remarques/explications.
# -*- coding: utf-8 -*-
Pas besoin de confettis,
#coding: utf-8
est suffisant, voire rien car en Python 3 c’est UTF-8 par défaut.
Le with statement permet de créer une ressources (ici l’ouverture d’un fichier) puis de l’utiliser dans un bloc.
À la sortie du bloc, quoiqu’il arrive (même en cas d’exception) la ressource est libérée (donc ici, le fichier est fermé). C’est une bonne habitude à prendre que d’utiliser with.
De même, quand tu ouvres un fichier, précise toujours l’encodage (UTF-8 de préférence). Sinon Python prends l’encodage par défaut, ce qui dépends du système (donc pas très portable).
De manière générale, je privilégie la syntaxe from XXX import YYY, ZZZ car c’est clair. On vois ce que tu utilises dans chaque module sans avoir à lire tout le script.
Mais ta façon de faire reste correcte aussi.
Par contre, ne jamais faire
from XXX import *
Ton script, c’est en rapport avec ça ? (j’ai découvert ce sujet quelques heures plus tôt ^^)
Voilà, je ne vois que ça pour le moment.
Si tu as d’autres questions, n’hésites pas
Dernière modification par grim7reaper (Le 07/06/2013, à 16:04)
Hors ligne
#1265 Le 07/06/2013, à 16:08
- The Uploader
Re : /* Topic des codeurs [8] */
Vite fait :
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# ========================================================================================
#
# Script de ljere
# license GPL V3 or later
#
# Description :
# Ce script permet de visualiser les mangas en vostfr que je peux télécharger
#
# ========================================================================================
# -----------------------------------------------
# Ajout de bibliothèques utiles
# -----------------------------------------------
# BeautifulSoup est une librairie permettant d'analyser un arbre (du HTML ici)
import bs4
# urllib est une librairie permettant d'ouvrir des URLs simplement (plutôt en HTTP ici)
import urllib.request
# téléchargement de la liste des mangas en vostfr dans un fichier nyaa.txt
url = urllib.request.urlopen("http://www.nyaa.eu/?page=search&cats=0_0&filter=0&term=vostfr").read()
# parsing Html
soup = bs4.BeautifulSoup(url)
soup.prettify()
nyaa = ""
for link in soup.find_all('a'):
nyaa += (link.get_text())
nyaa += '\n'
with open('nyaa.txt', mode='w', encoding='utf-8') as fichier:
fichier.write(nyaa)
Résultat :
Browse
Upload
Login
Signup
Rules & Help
IRC
RSS
Fap
Seeders
Leechers
Downloads
Size
Name
Ascending
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
>
>>
[SFT] Uta no Prince-sama Maji Love 2000% 08 VOSTFR HD [10bit][1280x720].mp4
[Fansub-Resistance]Naruto_Shippuuden_The_Movie_Road_to_Ninja_VOSTFR[BDRip-HD720p+Ac3-6ch]
[Uragiranai Fansub] Sparrow's Hotel épisode 9 vostfr
[Uragiranai Fansub] Dansai Bunri no crime edge épisode 10 vostfr
Naruto Shippuden 314 VOSTFR par Fansub-Resistance (1280x720) - HQ version
Naruto Shippuden 314 VOSTFR par Fansub-Resistance (704x396) - HQ version
[Tekmatek] Devil Survivor 2 - The animation 10 vostfr HD [720P].mp4
[KP] Love Live! School Idol Project 13 Vostfr [HD 1280x720]
[Uragiranai Fansub] Joju Senjin Mushibugyo épisode 9 vostfr
[Uragiranai Fansub] Dansai Bunri no crime edge épisode 9 vostfr
[CONAN-KUN_FANSUB]_Meitantei_Conan_688_vostfr_720p.mp4
[UF-Twiig] Suisei no Gargantia 09 [SD][VOSTFR]
Naruto Shippuden 316 VOSTFR par Fansub-Resistance (1280*720) - version MQ
Naruto Shippuden 316 VOSTFR par Fansub-Resistance (848*480) - version MQ
[RnF] Aiura - 09 - HD - Vostfr.mp4
[MnF]The_Prince_of_Tennis_II_13_[720p]_vostfr
[MnF] Hunter_X_Hunter_2011_82__720p__HD_vostfr
[MnF] Hunter_X_Hunter_2011_82__400p__SD_vostfr
Naruto_Shippûden_315 _Miracle-Sharingan_Fansub_Version_Finale [Xvid-LD-VOSTFR].avi
Naruto_Shippûden_315 _Miracle-Sharingan_Fansub_Version_Finale [H264-HD-VOSTFR].mp4
[VocaMiku] Red Data Girl - 08[720p TV] [VOSTFR]
[VocaMiku] Red Data Girl - 07[720p TV] [VOSTFR]
[SFT] Uta no Prince-sama Maji Love 2000% 08 VOSTFR SD [8bit][720x400].mp4
[SFT] Uta no Prince-sama Maji Love 2000% 08 VOSTFR HD [8bit][1280x720].mp4
Yondemasuyo Azazel-san Z 09 vostfr
Yondemasuyo Azazel-san Z 08 vostfr
[UF-Twiig] Suisei no Gargantia 09 [HD][VOSTFR]
[Mitansub] Yuyushiki 09 vostfr (1280x720 x264 AAC)
[BF-F] Fairy Tail - Le Film - La prêtresse du Phœnix VOSTFR FHD BDRiP (1920x1080 x264 AAC).mp4
[Asobu-no-Fansub] Arata Kangatari - 08 VOSTFR (HD 1280x720 x264 AAC).mp4
[Asobu-no-Fansub] Arata Kangatari - 08 VOSTFR (SD 840x480 x264 AAC).mp4
[Asobu-no-Fansub] Aiura - 09 VOSTFR (HD 1280x720 x264 AAC).mp4
[Asobu-no-Fansub] Aiura - 09 VOSTFR (SD 840x480 x264 AAC).mp4
[MitanSub] AIURA - 09 [VOSTFR][720p][Hi10P].mkv
Garo ~Yami wo Terasu Mono~ 08 乱 Scoop [Jmister-Fansub][720p-8bit Vostfr].mp4
Garo ~Yami wo Terasu Mono~ 08 乱 Scoop [Jmister-Fansub][1080p-8bit Vostfr].mp4
[Asobu-no-Fansub] Kotonoha no Niwa VOSTFR [8bit] [BD 1280x720 Nero AAC].mp4
[Asobu-no-Fansub] Kotonoha no Niwa VOSTFR [10bit] [BD 1920x1080 Nero AAC].mkv
[Asobu-no-Fansub] Kotonoha no Niwa VOSTFR [8bit] [BD 1920x1080 Nero AAC].mp4
[SFT] HUNTERxHUNTER (2011) - 82 VOSTFR SD (720x400 XviD MP3).avi
[SFT] HUNTERxHUNTER (2011) - 82 VOSTFR HD (1280x720 x264 AAC).mp4
[KP] Karneval 06 Vostfr [HD 1280x720]
[MitanSub] Tamayura hitotose 01 vostfr (BDRip 1920x1080 x264 Hi10P FLAC)
[Kaerizaki-Fansub] Naruto Shippuuden Film 6 - Road to Ninja VOSTFR BLU-RAY FHD 1080p DTS.mp4
[Tekmatek] Arata Kangatari - 08 vostfr HD [720p].mp4
[KURAI-DOUMEI] Date a Live 05 (HD 720p) ~ VOSTFR ~
Naruto_Shippûden_313_Miracle-Sharingan_Fansub_Version_Finale [H264-HD-VOSTFR].mp4
Naruto_Shippûden_312 _Miracle-Sharingan_Fansub_Version_Finale [H264-HD-VOSTFR].mp4
[MnF] One_Piece_598__400p__SD_vostfr
[MGT]_Zettai_Bouei_Leviathan_06_[Vostfr][8bits-HD][2475BDEF].mp4
[MGT]_Zettai_Bouei_Leviathan_06_[Vostfr][8bits-SD][AC61A25F].avi
[KF-MT]_Cuticle_Tantei_Inaba_07_HD_8bits_[1280x720_x264-AAC]_[BE2914FF]_VOSTFR.mp4
[KF-MT]_Cuticle_Tantei_Inaba_07_HD_10bits_[1280x720_x264-AAC]_[04A7F96B]_VOSTFR.mkv
[Impel-Down]_Toriko_077_VOSTFR_[720p]_[1FD641C8].mp4
[Tekmatek] Suisei no Gargantia 09 vostfr HD [720p].mp4
[Kaerizaki-Fansub] Naruto Shippuuden Film 6 - Road to Ninja VOSTFR BLU-RAY HD 720p.mp4
[Kaerizaki-Fansub] Naruto Shippuuden Film 6 - Road to Ninja VOSTFR BLU-RAY PS VITA 544p.mp4
[Kaerizaki-Fansub] Suisei no Gargantia 06 VOSTFR HD (1280x720).mp4
[Kaerizaki-Fansub] Suisei no Gargantia 06 VOSTFR SD (848x480).avi
[Kaerizaki-Fansub] Suisei no Gargantia 06 VOSTFR PS VITA (960x544).mp4
[Kaerizaki-Fansub] Suisei no Gargantia 05 VOSTFR HD (1280x720).mp4
[Kaerizaki-Fansub] Suisei no Gargantia 05 VOSTFR SD (848x480).avi
[Kaerizaki-Fansub] Suisei no Gargantia 05 VOSTFR PS VITA (960x544).mp4
[MnF] One_Piece_598__720p__HD_vostfr
[Marine-ford] One Piece 598 - HD VOSTFR (1280x720 x264 AAC).mp4
[Asobu-no-Fansub] Date a Live - 09 VOSTFR (HD 1280x720 x264 AAC).mp4
[Asobu-no-Fansub] Date a Live - 09 VOSTFR (SD 840x480 x264 AAC).mp4
[Marine-ford] One Piece 598 - LD VOSTFR (720x400 XviD mp3).avi
[Kaerizaki-Fansub] One Piece 598 VOSTFR HD (1280x720).mp4
[Kaerizaki-Fansub] One Piece 598 VOSTFR SD (848x480).avi
[Kaerizaki-Fansub] One Piece 598 VOSTFR PS VITA (960x544).mp4
[Tekmatek] Namiuchigawa No Muromi-San - 09 vostfr HD [720P].mp4
[Renkyou]Bokuha_Tomidachiga_Sukunai_-_01[BD][VOSTFR][720p-10bit][0E752AAD].mkv
[BF-F] Fairy Tail - Le Film - La prêtresse du Phœnix VOSTFR HD BDRiP (1280x720 x264 AAC).mp4
[Impel-Down]_One_Piece_598_VOSTFR_[720p]_[23EB898E].mp4
[VocaMiku] Suisei no Gargantia - 07 [720p TV] [VOSTFR]
[Impel-Down]_One_Piece_598_VOSTFR_[432p]_[703AE162].mp4
[Ghost-Hunter]Hunter_X_Hunter_82_2011_HD_8bits_[1280x720_x264-AAC]_[FBA23D9E]_VOSTFR.mp4
[RnF] Red Data Girl - 09 - HD - Vostfr.mp4
[Meda-Fansub] Petit Gargantia 03 VOSTFR
[Meda-Fansub] Petit Gargantia 02 VOSTFR
[Meda-Fansub] Petit Gargantia 01 VOSTFR
[Kaerizaki-Fansub] Naruto Shippuuden Film 6 - Road to Ninja VOSTFR BLU-RAY SD 480p.avi
[MnF]The_Prince_of_Tennis_II_12_[720p]_vostfr
[MnF]The_Prince_of_Tennis_II_11_[720p]_vostfr
[MnF]The_Prince_of_Tennis_II_10_[720p]_vostfr
[MnF] Hunter_X_Hunter_2011_81__720p__HD_vostfr
[MnF] Hunter_X_Hunter_2011_81__400p__SD_vostfr
[UF] The Unlimited ~ Zettai Karen Children ~ Pack Intégral 01-12 [HD][VOSTFR]
[UF] The Unlimited ~ Zettai Karen Children ~ Pack Intégral 01-12 [SD][VOSTFR]
[CircusFansub]Uta no prince-sama : Maji Love 2000% 09 vostfr HD.mp4[720x400]
[UF] Magi ~ The labyrinth of Magic ~ Pack Intégral 01-25 [HD][VOSTFR]
[UF] Magi ~ The labyrinth of Magic ~ Pack Intégral 01-25 [SD][VOSTFR]
Meitantei Conan - 198 - Le piège de la super voiture (2ème partie) [Jmister-Fansub][Vostfr].mp4
[CircusFansub]Uta no prince-sama : Maji Love 2000% 09 vostfr SD.mp4[720x400]
[MitanSub] Mahou Shoujo Lyrical Nanoha - The Movie 2nd (BDRip 1920x1080 x264 Hi10P FLAC VOSTFR).mkv
[Tekmatek] Devil Survivor 2 - The animation 09 vostfr HD [720P].mp4
[Fukkatsu Fansub] JoJo's Bizarre Adventure 07 VOSTFR FHD [Blu-Ray 1920x1080 x264 AAC]
[Fukkatsu Fansub] JoJo's Bizarre Adventure 07 VOSTFR HD Blu-Ray [1280x720 x264 AAC]
[Fukkatsu Fansub] JoJo's Bizarre Adventure 07 VOSTFR LD [Blu-Ray 720x400 XviD MP3]
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
>
>>
Je crois que tu écrasait le contenu du fichier à chaque fois, et à un moment nyaa était vide.
edit : super grilled
Dernière modification par The Uploader (Le 07/06/2013, à 16:12)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#1266 Le 07/06/2013, à 16:12
- ljere
Re : /* Topic des codeurs [8] */
merci ça fonctionne super et c'est vrai que ton code est bien optimisé
par contre je n'ai pas le résultat escompté je pense continuer avec re pour avoir chaque manga sur une ligne et virer les choses inutiles
non ça n'a aucun rapport pour mon cas il s'agit juste d'apprendre je te remercie pour tes explications qui sont très clair
pour les confettis ils sont expliqués ainsi dans les cours sur python j'utiliserai ta notation à l'avenir qui est bien plus simple
merci aussi the uploader ta méthode donne un retour intéressant
Dernière modification par ljere (Le 07/06/2013, à 16:23)
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#1267 Le 07/06/2013, à 16:25
- grim7reaper
Re : /* Topic des codeurs [8] */
merci ça fonctionne super et c'est vrai que ton code est bien optimisé
par contre je n'ai pas le résultat escompté je pense continuer avec re pour avoir chaque manga sur une ligne et virer les choses inutiles
De rien
Pour avoir un lien par ligne, il suffit d’ajouter "\n" à ta chaîne comme le code de The Uploader le fait.
Après, oui, si tu veux filtrer les mangas il va sûrement falloir sortir le module re.
pour les confettis ils sont expliqués ainsi dans les cours sur python j'utiliserai ta notation à l'avenir qui est bien plus simple
Oui, ça semble très répandu cette notation. Je ne sais pas trop pourquoi.
Édit : Pour revenir à la solution de The Uploader :
nyaa = ""
for link in soup.find_all('a'):
nyaa += (link.get_text())
nyaa += '\n'
with open('nyaa.txt', mode='w', encoding='utf-8') as fichier:
fichier.write(nyaa)
C’est très mauvais en terme de performance.
En Python les chaînes sont immutables, donc à chaque modification (du genre concaténation) une nouvelle chaîne doit être créée.
Une manière correcte de faire en Python serait :
nyaa = []
for link in soup.find_all('a'):
nyaa.append(link.get_text())
with open('nyaa.txt', mode='w', encoding='utf-8') as fichier:
fichier.write("\n".join(nyaa))
Création d’une liste de chaînes puis concaténation finale en une seule passe.
Dernière modification par grim7reaper (Le 07/06/2013, à 16:47)
Hors ligne
#1268 Le 07/06/2013, à 18:00
- The Uploader
Re : /* Topic des codeurs [8] */
Merci.
Ouais de toutes façons c'était pas optimal comme code.
Je pense que ce serait aussi mauvais pour les perfs en Ruby et d'autres langages (comme le C#, et certainement le Java).
Dernière modification par The Uploader (Le 07/06/2013, à 18:13)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#1269 Le 07/06/2013, à 18:12
- ljere
Re : /* Topic des codeurs [8] */
merci c'est en effet plus lisible comme ça
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#1270 Le 07/06/2013, à 18:16
- grim7reaper
Re : /* Topic des codeurs [8] */
Je pense que ce serait aussi mauvais pour les perfs en Ruby et d'autres langages comme le C#, et certainement le Java).
Pour Ruby, non. Les chaînes sont mutables donc le souci ne se pose pas.
Pour Java oui, même histoire : String immutable, donc il faut passer par des StringBuilder (StringBuffer si multithread).
C# je ne connais pas, mais comme il ressemble beaucoup au Java sur certains point je suppose que que c’est pareil que Java sur ce coup-là.
Pour le C, là aussi ça pourri tout. C’est normal car les chaînes sont null-terminated et que donc (contrairement aux langages comme Pascal qui ont des chaîne length-prefixed) il faut parcourir la chaîne pour connaître sa taille ce qui donne lieu à un algorithme qui bosse comme Schlemiel le peintre.
Shlemiel gets a job as a street painter, painting the dotted lines down the middle of the road. On the first day he takes a can of paint out to the road and finishes 300 yards of the road. "That's pretty good!" says his boss, "you're a fast worker!" and pays him a kopeck.
The next day Shlemiel only gets 150 yards done. "Well, that's not nearly as good as yesterday, but you're still a fast worker. 150 yards is respectable," and pays him a kopeck.
The next day Shlemiel paints 30 yards of the road. "Only 30!" shouts his boss. "That's unacceptable! On the first day you did ten times that much work! What's going on?"
"I can't help it," says Shlemiel. "Every day I get farther and farther away from the paint can!"
En C++, je suppose qu’on s’en sort comme en Ruby (vu que std::string stocke la taille, on n’a pas le problème du C).
Édit : Pour prouver que Ruby est bien efficace niveau concaténation sans passer par des listes, voilà le résultat d’un petit bench’ (source) :
Rehearsal -------------------------------------------------
concatenation 0.210000 0.000000 0.210000 ( 0.209778)
using lists 0.230000 0.020000 0.250000 ( 0.257987)
---------------------------------------- total: 0.460000sec
user system total real
concatenation 0.180000 0.000000 0.180000 ( 0.199288)
using lists 0.240000 0.010000 0.250000 ( 0.248024)
Dernière modification par grim7reaper (Le 07/06/2013, à 18:27)
Hors ligne
#1271 Le 07/06/2013, à 18:22
- The Uploader
Re : /* Topic des codeurs [8] */
C# je ne connais pas, mais comme il ressemble beaucoup au Java sur certains point je suppose que que c’est pareil que Java sur ce coup-là.
Oui, d'où l'intérêt du StringBuilder (ah ben ils ont même pas modifié le nom de la classe par rapport à Java ).
Pas mal Schlemiel le peintre.
Ok pour Ruby, ça devait être une "mauvaise" habitude prise avec Ruby. ^^
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#1272 Le 07/06/2013, à 18:26
- grim7reaper
Re : /* Topic des codeurs [8] */
grim' a écrit :C# je ne connais pas, mais comme il ressemble beaucoup au Java sur certains point je suppose que que c’est pareil que Java sur ce coup-là.
Oui, d'où l'intérêt du StringBuilder (ah ben ils ont même pas modifié le nom de la classe par rapport à Java ).
Ouais, un gars m’avait dit que pour certains trucs en C#, il copiait/collait du code Java qu’il avait écrit dans Visual Studio et ça fonctionnait sans rien changer (parce que même nom de classes entre autres) ^^
Hors ligne
#1273 Le 07/06/2013, à 19:33
- tshirtman
Re : /* Topic des codeurs [8] */
Ça me tente bien aussi.
Sauf que là j‘ai juste absolument pas de temps pour ça >_<, donc ça attendra.
Bah, pour l'instant, j'ai pas reçu de mail, donc on peut pas dire que ça me prenne du temps
@tshirtman: ayé, le couperet est tombé, ils m'ont choisi moi \o/
\o/ super cool!
Hors ligne
#1274 Le 07/06/2013, à 19:38
- Pylades
Re : /* Topic des codeurs [8] */
Oui, ça semble très répandu cette notation. Je ne sais pas trop pourquoi.
Je pense que tout le monde se contente de recopier bêtement les lignes qu’ils lisent : http://www.python.org/dev/peps/pep-0263/.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#1275 Le 07/06/2013, à 20:10
- grim7reaper
Re : /* Topic des codeurs [8] */
En parlant de copier-coller bêtement, ça peut être dangereux.
Tu crois copier une commande innocente, mais en faite non
Un cas de WYSINWYC (What you see is not what you copy).
je l’ai déjà vu passer mais je ne sais plus si c’était ici (auquel cas, désolé pour le repost).
Dernière modification par grim7reaper (Le 07/06/2013, à 20:12)
Hors ligne