code: def scan_file(self, this_file):
          
          params = {'apikey': self.api_key}
          try:
              if type(this_file) == str and os.path.isfile(this_file):
                  files = {'file': (this_file, open(this_file, 'rb'))}
              elif isinstance(this_file, StringIO.StringIO):
                  files = {'file': this_file.read()}
              else:
                  files = {'file': this_file}
          except TypeError as e:
              return dict(error=e.message)
  
          try:
              response = requests.post(self.base + 'file/scan', files=files, params=params, proxies=self.proxies)
          except requests.RequestException as e:
              return dict(error=e.message)
  
          return _return_response_and_status_code(response)
docs: Submit a file to be scanned by VirusTotal
  
          :param this_file: File to be scanned (32MB file size limit)
          :return: JSON response that contains scan_id and permalink.