import datetime import ftplib import socket import re f = open('ip.txt') ftpsites = f.readlines() f.close() total_sites = len(ftpsites) still_open = 0 now_closed = 0 files = [] print total_sites logfile = open('asus_ftp_stats.csv', 'w') def log_data(so, nc): current_time = unicode(datetime.datetime.now()) logfile.write('%s,%s,%s\n' % (current_time, so, nc)) def can_ftp_to(site): ftp = ftplib.FTP() try: ftp.connect(site, 21, 3) return True except socket.error: return False except ftplib.error_temp: return True except ftplib: return False except EOFError: return False for site in ftpsites: if len(site)<26: ip, other = re.split(':', site) site=ip print site if can_ftp_to(site): still_open = still_open + 1 try: ftp = ftplib.FTP() ftp.connect(site, 21, 3) ftp.login() files = ftp.nlst() for f in files: print f except socket.error as socketerror: print("Error: ", socketerror) except ftplib.error_perm, resp: if str(resp) == "550 No files found": print "No files in this directory" else: print str(resp) except Exception, e: print str(e) else: now_closed = now_closed + 1 log_data(still_open, now_closed) logfile.close()
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question