code: def copy_part_from_key(self, src_bucket_name, src_key_name, part_num,
                             start=None, end=None):
          
          if part_num < 1:
              raise ValueError('Part numbers must be greater than zero')
          query_args = 'uploadId=%s&partNumber=%d' % (self.id, part_num)
          if start is not None and end is not None:
              rng = 'bytes=%s-%s' % (start, end)
              provider = self.bucket.connection.provider
              headers = {provider.copy_source_range_header: rng}
          else:
              headers = None
          return self.bucket.copy_key(self.key_name, src_bucket_name,
                                      src_key_name, storage_class=None,
                                      headers=headers,
                                      query_args=query_args)
docs: Copy another part of this MultiPart Upload.
  
          :type src_bucket_name: string
          :param src_bucket_name: Name of the bucket containing the source key
  
          :type src_key_name: string
          :param src_key_name: Name of the source key
  
          :type part_num: int
          :param part_num: The number of this part.
  
          :type start: int
          :param start: Zero-based byte offset to start copying from
  
          :type end: int
          :param end: Zero-based byte offset to copy to