Bonjour, je travail sur un petit script qui a pour but de récupérer des fichiers sur un ftp tout les x temps. Le problème est que j'ai encore du mal à gérer les codes erreurs (j'ai commencé python en début de semaine).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
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
30
31
32
33
34
35
36
37
38
39
40
41
	try:
		connection(ftp.FTP(host, user, password))
	except ftp.all_errors, err:
		logger.critical('Erreur de connexion à %s : %s', host, err)
		error.append('Erreur de connexion à '+host+' : '+str(err))
		e += 1
	else:
		try:
			connection().cwd(dirsrc+'/c2s')
		except ftp.all_errors, err:
			logger.critical('Erreur de changement de répertoire : %s', err)
			error.append('Erreur de changement de répertoire : '+str(err))
			e += 1
		else:
			try:
				listing = connection().nlst('commande.*')
			except ftp.error_temp, err:
				logger.critical('Pas de fichier à transférer : %s', err)
				error.append('Pas de fichier à transférer : '+str(err))
				e += 1
			else:			
				for fichier in listing:
					f = open(fichier, 'wb')
					try:
						connection().retrbinary('RETR ' + fichier, f.write)
					except ftp.error_perm, err:
						logger.critical('Erreur de téléchargement du fichier '+fichier+' : %s', err)
						error.append('Erreur de téléchargement du fichier '+fichier+' : '+str(err))
						e += 1
					else:
						try:
							connection().delete(fichier)
						except ftp.error_reply, err:
							logger.critical('Erreur de suppression du fichier '+fichier+' : %s', err)
							error.append('Erreur de suppression du fichier '+fichier+' : '+str(err))
							e += 1						
 
						# Il y eu de fichiers de transférés
						nbfic += 1
					f.close
		connection().quit()
lorsqu'il fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
listing = connection().nlst('commande.*')
Si il y a des fichiers tout est ok, si il y en a pas il me renvoie l'erreur 450 mais je ne souhaiterais pas que dans le cas d'un 450 qu'il me renvoie une erreur.

Est-ce que vous avez une idée ?
Merci d'avance.