Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Gregory Ewing Newsgroups: comp.lang.python Subject: Re: child.before taking almost 1 minute to execute Date: Thu, 25 Feb 2016 10:09:52 +1300 Lines: 20 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net 2uNtWbmT0vsY2ODqwFlXRQFD+mxuUJ4S5mw9T6YJ2jLNRpy4mX Cancel-Lock: sha1:bNbazKctWc+Q0SjdZBCaljLHbqg= User-Agent: Mozilla Thunderbird 1.0.5 (Macintosh/20050711) X-Accept-Language: en-us, en In-Reply-To: Xref: csiph.com comp.lang.python:103461 pyfreek wrote: > The following snippet alone is taking 1 minute to execute. is there any best way to find 'No such file' other than using child.before > > if not scrutinFile.startswith('/') : > scrutinFile = '/'+ scrutinFile > scrutinFileFtp = directory + scrutinFile > filePath, file = os.path.split(scrutinFileFtp) > p.sendline('cd %s'%(filePath)) > p.expect([pexpect.EOF,pexpect.TIMEOUT]) > if 'No such file' in p.before: > print "No such directory exists!!" > sys.exit(1) If you're talking to an ftp client here, you might like to consider using the ftplib module in the standard library. It ought to take care of the messy details of error detection for you. -- Greg