--- a/src/eric7/MicroPython/Devices/DeviceBase.py Tue Mar 21 11:23:42 2023 +0100 +++ b/src/eric7/MicroPython/Devices/DeviceBase.py Tue Mar 21 11:45:08 2023 +0100 @@ -926,16 +926,22 @@ import os as __os_ def fsinfo(): - infolist = [] + infodict = {} info = __os_.statvfs('/') if info[0] == 0: fsnames = __os_.listdir('/') for fs in fsnames: fs = '/' + fs - infolist.append((fs, __os_.statvfs(fs))) + infodict[fs] = __os_.statvfs(fs) else: - infolist.append(('/', info)) - return infolist + infodict['/'] = info + fsnames = __os_.listdir('/') + for fs in fsnames: + fs = '/' + fs + info = __os_.statvfs(fs) + if info not in infodict.values(): + infodict[fs] = info + return infodict print(fsinfo()) del __os_, fsinfo @@ -943,12 +949,12 @@ out, err = self._interface.execute(command, mode=self._submitMode) if err: raise OSError(self._shortError(err)) - infolist = ast.literal_eval(out.decode("utf-8")) - if infolist is None: + infodict = ast.literal_eval(out.decode("utf-8")) + if infodict is None: return None else: filesystemInfos = [] - for fs, info in infolist: + for fs, info in infodict.items(): totalSize = info[2] * info[1] freeSize = info[4] * info[1] usedSize = totalSize - freeSize