Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / FTP - conversion string/nombre

FTP - conversion string/nombre

Remonter à Forum général Python
  • FTP - conversion string/nombre

    Envoyé par nordier le 4 Novembre 2010 à 09:51
    '''Bonjour,
    Je suis connecté en mode FTP sur un répertoire qui contient des fichiers de ce type:
    +_bouillant_pierre_1837.png

    # analyse des fichiers par date

    from ftplib import FTP
    import os
    import os.path
    import sys


    ftp=FTP('ftp.yyyyyyy.net')
    ftp.login('yyyyyyy','xxxxxxx')
    ftp.cwd('/www/geneweb/actes/44/')

    liste1=ftp.nlst()

    for fic in liste1:
    date=int(fic[-8:-4])
    if date>1800:
    print fic

    J'ai le message d'erreur suivant:
    "Traceback (most recent call last):
    File "/home/jacques/Documents/Programmes/python/utilitaires/deplacement_ftp.py", line 18, in
    date=int(fic[-8:-4])
    ValueError: invalid literal for int() with base 10: ''

    En bref, en mode FTP je ne peux convertir un string en nombre.
    Pourquoi et comment faire?
    Merci d'avance pour votre aide.'''
    • Re: FTP - conversion string/nombre

      Envoyé par jacko le 4 Novembre 2010 à 15:53
      Comme l'indique le message d'erreur, la chaîne obtenue par :
      fic[-8:-4]
      est vide : ''
      -> elle ne peut être convertie en entier.
      Faite un contrôle sur fic (au moins un print) avant de chercher à en extraires les caractères [-8:-4].
    • Re: FTP - conversion string/nombre

      Envoyé par nordier le 4 Novembre 2010 à 16:56
      '''liste1=ftp.nlst()
      for fic in liste1:
      print fic
      print fic[-8:-4]'''


      Non la chaîne n'est pas vide: la liste des fichiers et la date (en mode string) me sont effectivement renvoyées.
Rendu par Ploneboard