# cliTools: Utilities for command-line interfaces and console scripts

Collection of utilities for command-line interfaces and console scripts.

fontTools.misc.cliTools.makeOutputFileName(input, outputDir=None, extension=None, overWrite=False, suffix='')

  Generates a suitable file name for writing output.

  Often tools will want to take a file, do some kind of transformation to it, and write it out again. This function determines an appropriate name for the output file, through one or more of the following steps:

  - changing the output directory

  - appending suffix before file extension

  - replacing the file extension

  - suffixing the filename with a number (`#1`, `#2`, etc.) to avoid overwriting an existing file.

  Parameters:

    - input – Name of input file.

    - outputDir – Optionally, a new directory to write the file into.

    - suffix – Optionally, a string suffix is appended to file name before the extension.

    - extension – Optionally, a replacement for the current file extension.

    - overWrite – Overwriting an existing file is permitted if true; if false and the proposed filename exists, a new name will be generated by adding an appropriate number suffix.

  Returns:

    Suitable output filename

  Return type:

    str