code: def file_names(self) -> Iterable[str]:
          
          if self.is_sharded():
              yield from ShardedFile(self.filename_spec).get_filenames()
          elif self.filename_spec:
              yield self.filename_spec
docs: Generates all file names that are used to generate file_handles.