Gary Taylor wrote: > I'm trying to pass the name of a file as the first argument > to the ftp.storbinary function(?) below. The only thing I > can get to work is the real file name hard coded as the > argument. I've tried parenthesis, single quotes, double > quotes, and many combinations of the previous. I've tried > passing sys.argv[1] directly as well, although with fewer > experiments. > > I invoke this as below and the output is what I would > expect, but the file name on the ftp server is never > correct. > > > What is the correct way to do this? > > > $ ./garyftp.py align.ps > align.ps > > > > --- > Python 2.3.4 on Linux. > > > --- > #!/usr/bin/python > import sys > from ftplib import FTP > > file_to_transfer = sys.argv[1] > > ftp = FTP() > ftp.connect("myserver") > ftp.login("myusername", "mypasswd") > > > ftp.storbinary(stor file_to_transfer, open(file_to_transfer,"r"))
You need to create the command as a string: ftp.storbinary("stor " + file_to_transfer, open(file_to_transfer,"r")) Kent > > print file_to_transfer > ftp.quit() > -- > > Thanks, > Gary > > [EMAIL PROTECTED] > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor