FTP program works -- now how do I send the directory over?

Oleg Broytmann phd at phd.fep.ru
Thu Jul 5 10:07:44 EDT 2001

On Thu, 5 Jul 2001, Kemp Randy-W18971 wrote:
> I seem to be getting the listing of what's on my d drive in windows, rather then the binary contents.  Here is what I do (the server id changed to protect the innocent:
> for filename in glob.glob('d:\programsPython\*'):
>     ftp.storbinary("STOR " + filename, open(filename, 'rb'))

> List the directory contents in Unix
> ee110:/usr2/ecadtesting/tarbackups> ls
> d:\programsPython\CE H2-102000 Usage Mentor1.txt

> Why do I get the text d:\programsPython\filename?

   Because glob() returns full path, so you end up running commands like
ftp.storbinary("STOR " + 'd:\\programsPython\\CE H2-102000 Usage Mentor1.txt'...
(please note double backslashes)
   If you want just filenames without path you can do one of two things:

1) cd d:\programsPython (os.chdir("d:\\programsPython")) and then use
glob('*') - this will list just the curent directory

2) or cut off the file/path yourself:

for filename in glob.glob('d:\programsPython\*'):
   name = string.split(filename, '\\')[-1]
   ftp.storbinary("STOR " + name, open(filename, 'rb'))

> How should I change the program to get the actual files sent over?

   Why do you think those funny files are not real files? It is just UNIX
didn't interpreted backslashes! :) I am sure they are your real files! Test

     Oleg Broytmann            http://phd.pp.ru/            phd at phd.pp.ru
           Programmers don't die, they just GOSUB without RETURN.

More information about the Python-list mailing list