Salut à tous,
J'ai fait un petit script pour parser un fichier : je lis ligne par ligne, et en écris certains dans fichier1, certains dans fichier2. Or, si je fais comme ça, c'est très lent. Si par contre je fais 2 boucles, l'une écrivant dans fichier1 puis une autre boucle pour écrire dans le fichier2, c'est rapide.
Ma question est : pourquoi ? Autoit est il obliger de fermer fichier1 pour écrire dans fichier2 ?
J'ai bien trouvé la solution, mais le code est pas très claire j'aimerai savoir pourquoi, et s'il était possible de faire ça dans une seule boucle (plus pratique car des lignes sont communes aux 2 fichiers)
[R] Ecriture dans 2 fichier lente
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Ecriture dans 2 fichier lente
Modifié en dernier par Clampu le mar. 02 déc. 2014 11:44, modifié 1 fois.
Re: [..] Ecriture dans 2 fichier lente
Salut,
tu fais peut être des truc en trop, il faudrait que tu post ton code si tu veux que l'on nettoie tout ça
tu fais peut être des truc en trop, il faudrait que tu post ton code si tu veux que l'on nettoie tout ça
Re: [..] Ecriture dans 2 fichier lente
Je pige pas, j'ai relancé le code qui était lent, il est maintenant aussi rapide que l'autre...
Peut être une lenteur sur le réseau (j'écris pas sur ma machine) ?
Je peux passer en résolu.
Pour info, le code :
Peut être une lenteur sur le réseau (j'écris pas sur ma machine) ?
Je peux passer en résolu.
Pour info, le code :
► Afficher le texte
Re: [R] Ecriture dans 2 fichier lente
ton code a pas l'air mauvais, peut être un truc (à vérifier avec les pro):
avec fileopen tu peux créer le fichier et avec overwrite tu écrase son ancien contenu donc le bout de code du dessus peux prendre que 2 lignes (-fileexists,-filedelete et -filecreate)
Code : Tout sélectionner
If FileExists($chemin_OUTCMU) Then
FileDelete($chemin_OUTCMU)
EndIf
If FileExists($chemin_OUTnotCMU) Then
FileDelete($chemin_OUTnotCMU)
EndIf
_FileCreate($chemin_OUTCMU)
Local $OUTCMU = FileOpen($chemin_OUTCMU, $FO_READ + $FO_OVERWRITE)
_FileCreate($chemin_OUTnotCMU)
Local $OUTnotCMU = FileOpen($chemin_OUTnotCMU, $FO_READ + $FO_OVERWRITE)
Re: [R] Ecriture dans 2 fichier lente
Yep pas bête, mais j'ai codé ça vite fait c'était urgent pour un gros fichier donc pas le temps d'optimiser parfaitement. Merci en tous cas 


