# \[Python\] ftplib

**URL:** <https://www.debian-fr.org/t/python-ftplib/4139>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 2:54 UTC](https://www.debian-fr.org/t/python-ftplib/4139 "2016-02-20T14:54:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gapz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@gapz](https://www.debian-fr.org/u/gapz)\
**Post date:** [Février 20, 2016, 2:54 UTC](https://www.debian-fr.org/t/python-ftplib/4139/1 "2016-02-20T14:54:59Z")

</div>

Voila mon problème :

J’essaye tant bien que mal de transféré un fichier html avec le module ftplib de la façon suivante :

```auto
session = ftplib.FTP('ftp','login','pass')

fichier = open('fichier.html','rb')
session.storbinary('STOR fichier.html', fichier)
fichier.close()

session.quit()
```

Résultat il manque un morceau du code HTML à l’arriver, je n’arrive toujours pas à comprendre pourquoi ☹

---

<div class="post-metadata">

**Author:** ![Damsss](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/43a26b/32.png) [@Damsss](https://www.debian-fr.org/u/Damsss)\
**Post date:** [Février 20, 2016, 2:54 UTC](https://www.debian-fr.org/t/python-ftplib/4139/2 "2016-02-20T14:54:59Z")

</div>

Salut,  
il semblerait que ce module ne transfert pas forcément la totalité d’un fichier, selon sa taille. Aussi, quelqu’un ayant eu ce problème l’a résolu en modifiant la fonction source et en remplaçant la ligne conn.send(buf) par conn.send(buf, socket.MSG\_WAITALL), ainsi le transfert attend d’être total avant de fermer la connexion.

[mail.python.org/pipermail/python … 00716.html](http://mail.python.org/pipermail/pythonmac-sig/1998-August/000716.html)

---

<div class="post-metadata">

**Author:** ![ed](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ed/32/5886_2.png) [@ed](https://www.debian-fr.org/u/ed)\
**Post date:** [Février 20, 2016, 2:55 UTC](https://www.debian-fr.org/t/python-ftplib/4139/3 "2016-02-20T14:55:19Z")

</div>

J’utilise la ftplib dans un logiciel propriétaire que j’ai programmé, et qui l’utilise très intensivement.

Rien a signaler. Si le fichier n’est pas complet, alors c’est que le code n’est pas bon.

Relisez la doc, a+

---

<div class="post-metadata">

**Author:** ![BorisTheButcher](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/d6d6ee/32.png) [@BorisTheButcher](https://www.debian-fr.org/u/BorisTheButcher)\
**Post date:** [Février 20, 2016, 2:55 UTC](https://www.debian-fr.org/t/python-ftplib/4139/4 "2016-02-20T14:55:26Z")

</div>

En expect (rien à voir avec la choucroute mais bon…) c’est pareil.  
Si on ne met pas “set timeout -1” alors le transfert est coupé car la fonction send stor file est interrompue apres le timeout de quelques secondes.  
Donc ca pourrait ^etre du meme style peut etre, un timeout? Ou alors s’assurer que la fonction est bien bloquante.

“Relisez la doc” , la traduction polie de RTFM 🙂

---

<div class="post-metadata">

**Author:** ![gapz](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/g/df705f/32.png) [@gapz](https://www.debian-fr.org/u/gapz)\
**Post date:** [Février 20, 2016, 2:57 UTC](https://www.debian-fr.org/t/python-ftplib/4139/5 "2016-02-20T14:57:39Z")

</div>

Ok merci pour toutes ces réponses, j’avais emprunté un bou de code du wiki python francophone pour essayé ftplib, apparament il faudrait compléter certaines choses.
