Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #38212

Re: ftp - delete multiple files of same type

Date 2013-02-05 13:24 -0500
From Dave Angel <davea@davea.name>
Subject Re: ftp - delete multiple files of same type
References <1d7b7a3d-097f-477b-93b5-4343a25bc1f1@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.1377.1360088678.2939.python-list@python.org> (permalink)

Show all headers | View raw


On 02/05/2013 12:29 PM, chris.annin@gmail.com wrote:
> im trying to delete all text files from an ftp directory. is there a way to delete multiple files of the same extension?
>
> I came up with the following code below which works but I have to append the string because ftp.nlst returns:
>
> "-rwx------ 1 user group 0 Feb 04 15:57 New Text Document.txt"
>
> but then when I try to delete it that long file name which includes the date doesnt exist - the files name is "new text document.txt" not "-rwx------ 1 user group 0 Feb 04 15:57 New Text Document.txt"
>
> so anyway I stripped off the the beginning keeping the last 21 characters and it worked great - this should work being that I know all my text files names are the same length in characters - but it seems like there should be a better more bullet proof way to do this?
>
> [code]import os
> import system
> from ftplib import FTP
>
> ftp = FTP('127.0.0.1')
> ftp.login('')
>
> directory = 'test'
> ftp.cwd(directory)
>
> files = ftp.nlst()
>
> for file in files:
>      if file.find(".txt") != -1:
>          file = (file [-21:])
>          ftp.delete(file)
>
> ftp.close()[/code]
>
> any ideas on this?  thank you.
>
You forgot to say what python version, and what OS you're running on.

I havne't played much with the ftp library, but it seems it'd be much 
more robust to use something like  file[39:]   but that's still a "magic 
number".

So i look in the ftplib docs:
     http://docs.python.org/2/library/ftplib.html

and it seems there are other choices besides nlst().  If all you need is 
the filename, why not check out

FTP.retrlines(command[, callback])ΒΆ
FTP.dir(argument[, ...])



-- 
DaveA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

ftp - delete multiple files of same type chris.annin@gmail.com - 2013-02-05 09:29 -0800
  Re: ftp - delete multiple files of same type Dave Angel <davea@davea.name> - 2013-02-05 13:24 -0500
  Re: ftp - delete multiple files of same type MRAB <python@mrabarnett.plus.com> - 2013-02-05 18:45 +0000
    Re: ftp - delete multiple files of same type chris.annin@gmail.com - 2013-02-05 14:59 -0800
    Re: ftp - delete multiple files of same type chris.annin@gmail.com - 2013-02-05 14:59 -0800

csiph-web