class_docstr: Provides a file-like object that takes care of all the things you
  commonly want to do when processing a text file that has some
  line-by-line syntax: strip comments (as long as "#" is your
  comment character), skip blank lines, join adjacent lines by
  escaping the newline (ie. backslash at end of line), strip
  leading and/or trailing whitespace.  All of these are optional
  and independently controllable.
  
  Provides a 'warn()' method so you can generate warning messages that
  report physical line number, even if the logical line in question
  spans multiple physical lines.  Also provides 'unreadline()' for
  implementing line-at-a-time lookahead.
  
  Constructor is called as:
  
      TextFile (filename=None, file=None, **options)
  
  It bombs (RuntimeError) if both 'filename' and 'file' are None;
  'filename' should be a string, and 'file' a file object (or
  something that provides 'readline()' and 'close()' methods).  It is
  recommended that you supply at least 'filename', so that TextFile
  can include it in warning messages.  If 'file' is not supplied,
  TextFile creates its own using 'io.open()'.
  
  The options are all boolean, and affect the value returned by
  'readline()':
    strip_comments [default: true]
      strip from "#" to end-of-line, as well as any whitespace
      leading up to the "#" -- unless it is escaped by a backslash
    lstrip_ws [default: false]
      strip leading whitespace from each line before returning it
    rstrip_ws [default: true]
      strip trailing whitespace (including line terminator!) from
      each line before returning it
    skip_blanks [default: true}
      skip lines that are empty *after* stripping comments and
      whitespace.  (If both lstrip_ws and rstrip_ws are false,
      then some lines may consist of solely whitespace: these will
      *not* be skipped, even if 'skip_blanks' is true.)
    join_lines [default: false]
      if a backslash is the last non-newline character on a line
      after stripping comments and whitespace, join the following line
      to it to form one "logical line"; if N consecutive lines end
      with a backslash, then N+1 physical lines will be joined to
      form one logical line.
    collapse_join [default: false]
      strip leading whitespace from lines that are joined to their
      predecessor; only matters if (join_lines and not lstrip_ws)
    errors [default: 'strict']
      error handler used to decode the file content
  
  Note that since 'rstrip_ws' can strip the trailing newline, the
  semantics of 'readline()' must differ from those of the builtin file
  object's 'readline()' method!  In particular, 'readline()' returns
  None for end-of-file: an empty string might just be a blank line (or
  an all-whitespace line), if 'rstrip_ws' is true but 'skip_blanks' is
  not.
class_docstr_tok: ["Provides","a","file-like","object","that","takes","care","of","all","the","things","you","commonly","want","to","do","when","processing","a","text","file","that","has","some","line-by-line","syntax",":","strip","comments","(","as","long","as","``","#","''","is","your","comment","character",")",",","skip","blank","lines",",","join","adjacent","lines","by","escaping","the","newline","(","ie",".","backslash","at","end","of","line",")",",","strip","leading","and\/or","trailing","whitespace",".","All","of","these","are","optional","and","independently","controllable",".","Provides","a","'warn","(",")","'","method","so","you","can","generate","warning","messages","that","report","physical","line","number",",","even","if","the","logical","line","in","question","spans","multiple","physical","lines",".","Also","provides","'unreadline","(",")","'","for","implementing","line-at-a-time","lookahead",".","Constructor","is","called","as",":","TextFile","(","filename=None",",","file=None",",","*","*","options",")","It","bombs","(","RuntimeError",")","if","both","'filename","'","and","'file","'","are","None",";","'filename","'","should","be","a","string",",","and","'file","'","a","file","object","(","or","something","that","provides","'readline","(",")","'","and","'close","(",")","'","methods",")",".","It","is","recommended","that","you","supply","at","least","'filename","'",",","so","that","TextFile","can","include","it","in","warning","messages",".","If","'file","'","is","not","supplied",",","TextFile","creates","its","own","using","'io.open","(",")","'",".","The","options","are","all","boolean",",","and","affect","the","value","returned","by","'readline","(",")","'",":","strip_comments","[","default",":","true","]","strip","from","``","#","''","to","end-of-line",",","as","well","as","any","whitespace","leading","up","to","the","``","#","''","--","unless","it","is","escaped","by","a","backslash","lstrip_ws","[","default",":","false","]","strip","leading","whitespace","from","each","line","before","returning","it","rstrip_ws","[","default",":","true","]","strip","trailing","whitespace","(","including","line","terminator","!",")","from","each","line","before","returning","it","skip_blanks","[","default",":","true","}","skip","lines","that","are","empty","*","after","*","stripping","comments","and","whitespace",".","(","If","both","lstrip_ws","and","rstrip_ws","are","false",",","then","some","lines","may","consist","of","solely","whitespace",":","these","will","*","not","*","be","skipped",",","even","if","'skip_blanks","'","is","true",".",")","join_lines","[","default",":","false","]","if","a","backslash","is","the","last","non-newline","character","on","a","line","after","stripping","comments","and","whitespace",",","join","the","following","line","to","it","to","form","one","``","logical","line","''",";","if","N","consecutive","lines","end","with","a","backslash",",","then","N+1","physical","lines","will","be","joined","to","form","one","logical","line",".","collapse_join","[","default",":","false","]","strip","leading","whitespace","from","lines","that","are","joined","to","their","predecessor",";","only","matters","if","(","join_lines","and","not","lstrip_ws",")","errors","[","default",":","'strict","'","]","error","handler","used","to","decode","the","file","content","Note","that","since","'rstrip_ws","'","can","strip","the","trailing","newline",",","the","semantics","of","'readline","(",")","'","must","differ","from","those","of","the","builtin","file","object","'s","'readline","(",")","'","method","!","In","particular",",","'readline","(",")","'","returns","None","for","end-of-file",":","an","empty","string","might","just","be","a","blank","line","(","or","an","all-whitespace","line",")",",","if","'rstrip_ws","'","is","true","but","'skip_blanks","'","is","not","."]
docstr: Read and return the list of all logical lines remaining in the
  current file.
docstr_tok: ["Read","and","return","the","list","of","all","logical","lines","remaining","in","the","current","file","."]
code: def readlines(self):
      """Read and return the list of all logical lines remaining in the
      current file."""
      lines = []
      while True:
          line = self.readline()
          if line is None:
              return lines
          lines.append(line)
  
file_path: catboost/contrib/python/setuptools/py3/setuptools/_distutils/text_file.py
imports: import sys
label_desc: Use image node_id 8 for calling the TextFile obj's underlying member method code with example usage: obj.readlines() and returns: lines