<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_file(cls, path, fields=None, encoding='utf-8'):
 """ Instantiate a Table from a database file. This method instantiates a table attached to the file at *path*. The file will be opened and traversed to determine the number of records, but the contents will not be stored in memory unless they are modified. Args: path: the path to the table file fields: the Relation schema for the table (loaded from the relations file in the same directory if not given) encoding: the character encoding of the file at *path* """

        path = _table_filename(path)  # do early in case file not found
        if fields is None:
            fields = _get_relation_from_table_path(path)

        table = cls(fields)
        table.attach(path, encoding=encoding)

        return table