| import sys |
| import uos |
| import uerrno |
| try: |
| uos.VfsFat |
| uos.vfs_mkfs |
| uos.vfs_mount |
| except AttributeError: |
| print("SKIP") |
| sys.exit() |
| |
| class RAMFS_OLD: |
| |
| SEC_SIZE = 512 |
| |
| def __init__(self, blocks): |
| self.data = bytearray(blocks * self.SEC_SIZE) |
| |
| def readblocks(self, n, buf): |
| #print("readblocks(%s, %x(%d))" % (n, id(buf), len(buf))) |
| for i in range(len(buf)): |
| buf[i] = self.data[n * self.SEC_SIZE + i] |
| |
| def writeblocks(self, n, buf): |
| #print("writeblocks(%s, %x)" % (n, id(buf))) |
| for i in range(len(buf)): |
| self.data[n * self.SEC_SIZE + i] = buf[i] |
| |
| def sync(self): |
| pass |
| |
| def count(self): |
| return len(self.data) // self.SEC_SIZE |
| |
| |
| try: |
| bdev = RAMFS_OLD(50) |
| except MemoryError: |
| print("SKIP") |
| sys.exit() |
| |
| uos.vfs_mkfs(bdev, "/ramdisk") |
| uos.vfs_mount(bdev, "/ramdisk") |
| |
| # file io |
| vfs = uos.VfsFat(bdev, "/ramdisk") |
| with vfs.open("file.txt", "w") as f: |
| f.write("hello!") |
| |
| print(vfs.listdir()) |
| |
| with vfs.open("file.txt", "r") as f: |
| print(f.read()) |
| |
| vfs.remove("file.txt") |
| print(vfs.listdir()) |
| |
| # umount by device |
| uos.vfs_umount(bdev) |