On Oct 20, 1:10 pm, Fredrik Lundh <[EMAIL PROTECTED]> wrote: > daniel wrote: > > well, I'm trying to use ftplib to upload data that received from > > socket, and the application is required to restart the transfer at a > > specific interval so as to generate a different target file on the > > server to store subsequent data. > > the problem is 'storbinary' accepts only file-like object"storbinary" works > > with anything that has a "read" method that takes a > buffer size, so you can wrap the source stream in something like: > > ## > # File wrapper that reads no more than 'bytes' data from a stream. Sets > # the 'eof' attribute to true if the stream ends. > > class FileWrapper: > def __init__(self, fp, bytes): > self.fp = fp > self.bytes = bytes > self.eof = False > def read(self, bufsize): > if self.bytes <= 0: > return "" > data = self.fp.read(min(bufsize, self.bytes)) > if not data: > self.eof = True > self.bytes -= len(data) > return data > > source = open(...) > > while 1: > cmd = "STOR " + generate_file_name() > f = FileWrapper(source, 1000000) > ftp.storbinary(cmd, f) > if f.eof: > break > > </F> I'm trying to understand your code, thank you so much for the help.
daniel -- http://mail.python.org/mailman/listinfo/python-list