[R] Ecriture dans 2 fichier lente

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Clampu
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mer. 16 mai 2012 22:08
Status : Hors ligne

[R] Ecriture dans 2 fichier lente

#1

Message par Clampu »

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)
Modifié en dernier par Clampu le mar. 02 déc. 2014 11:44, modifié 1 fois.
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [..] Ecriture dans 2 fichier lente

#2

Message par Faco »

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 ;-)
Clampu
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mer. 16 mai 2012 22:08
Status : Hors ligne

Re: [..] Ecriture dans 2 fichier lente

#3

Message par Clampu »

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 :
► Afficher le texte
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [R] Ecriture dans 2 fichier lente

#4

Message par Faco »

ton code a pas l'air mauvais, peut être un truc (à vérifier avec les pro):

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)
 
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)
Clampu
Niveau 3
Niveau 3
Messages : 48
Enregistré le : mer. 16 mai 2012 22:08
Status : Hors ligne

Re: [R] Ecriture dans 2 fichier lente

#5

Message par Clampu »

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 ;)
Répondre