def file_info(self, filepath, results: str = '<STR_LIT>', fileref: str = '<STR_LIT>', quiet: bool = False):
if not self.nosub:<EOL><INDENT>code  = "<STR_LIT>"+fileref+"<STR_LIT>"+filepath+"<STR_LIT>"<EOL>code += "<STR_LIT>"+fileref+"<STR_LIT>"<EOL>ll = self.submit(code)<EOL>exists = ll['<STR_LIT>'].rpartition('<STR_LIT>')[<NUM_LIT:2>].split('<STR_LIT:\n>')[<NUM_LIT:0>]<EOL>if exists != '<STR_LIT:1>':<EOL><INDENT>if not quiet:<EOL><INDENT>print('<STR_LIT>')<EOL><DEDENT>ll = self.submit("<STR_LIT>"+fileref+"<STR_LIT>")<EOL>return None<EOL><DEDENT><DEDENT>if results != '<STR_LIT>':<EOL><INDENT>code="""<STR_LIT>""".replace('<STR_LIT>', fileref)<EOL>if self.nosub:<EOL><INDENT>print(code)<EOL>return None<EOL><DEDENT>else:<EOL><INDENT>ll  = self.submit(code, results='<STR_LIT:text>')<EOL><DEDENT>res = self.sd2df('<STR_LIT>', '<STR_LIT>')<EOL>return res<EOL><DEDENT>code="""<STR_LIT>""".replace('<STR_LIT>', fileref)<EOL>if self.nosub:<EOL><INDENT>print(code)<EOL>return None<EOL><DEDENT>else:<EOL><INDENT>ll  = self.submit(code, results='<STR_LIT:text>')<EOL><DEDENT>res = {}<EOL>log = ll['<STR_LIT>'].rpartition('<STR_LIT>')[<NUM_LIT:0>].rpartition('<STR_LIT>')<EOL>for i in range(log[<NUM_LIT:2>].count('<STR_LIT>')):                                    <EOL><INDENT>log = log[<NUM_LIT:2>].partition('<STR_LIT>')[<NUM_LIT:2>].partition('<STR_LIT:\n>')                    <EOL>key = log[<NUM_LIT:0>]                                                           <EOL>log = log[<NUM_LIT:2>].partition('<STR_LIT>')[<NUM_LIT:2>].partition('<STR_LIT>')<EOL>val = log[<NUM_LIT:0>].strip().replace('<STR_LIT:\n>','<STR_LIT>')<EOL>res[key] = val                                                         <EOL><DEDENT>return res<EOL>
This method returns a dictionary containing the file attributes for the file name provided

If you would like a Pandas dataframe returned instead of a dictionary, specify results='pandas'