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='')[source]

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