code: def pdf_split(
      input: str, output: str, stepsize: int = 1, sequence: [int] = None
  ):
      
      output = output or os.path.splitext(input)[0]
      if not os.path.isfile(input):
          print("Error. The file '%s' does not exist." % input)
          return
  
      with open(input, "rb") as inputfile:
          reader = PdfFileReader(inputfile)
          pagenr = 0
          outputfile = None
          if sequence is None:
              for i, page in enumerate(reader.pages):
                  if not i % stepsize:
                      pagenr += 1
                      outputfile = open(output + "_%i.pdf" % pagenr, "wb")
                      writer = PdfFileWriter()
                  writer.addPage(page)
                  if not (i + 1) % stepsize:
                      writer.write(outputfile)
                      outputfile.close()
          else:
              sequence = map(int, sequence)
              iter_pages = iter(reader.pages)
              for filenr, pagecount in enumerate(sequence):
                  with open(
                      output + "_%i.pdf" % (filenr + 1), "wb"
                  ) as outputfile:
                      writer = PdfFileWriter()
                      for i in range(pagecount):
                          try:
                              page = next(iter_pages)
                              writer.addPage(page)
                          except StopIteration:
                              writer.write(outputfile)
                              return
  
                      writer.write(outputfile)
  
          if not outputfile.closed:
              writer.write(outputfile)
              outputfile.close()
docs: Split the input file in multiple output files
      :param input: name of the input file
      :param output: name of the output files
      :param stepsize: how many pages per file, only if sequence is None
      :param sequence: list with number of pages per file