Description

⚙ Hardware Needed


📚 External Libraries Needed


pycubed.py

📑 Code


Print the directories and filenames of everything on an SD card

from pycubed import cubesat
import os, storage, time
 
# check if SD card found
if not cubesat.hardware['SDcard']:
    cubesat.RGB=(255,0,0)
    print('No SD Card Detected. Press Ctrl+C to halt')
    # wait forever
    while True:
        time.sleep(1)

# This helper function will print the contents of the SD
def print_directory(path, tabs=0):
    for file in os.listdir(path):
        stats = os.stat(path + "/" + file)
        filesize = stats[6]
        isdir = stats[0] & 0x4000
 
        if filesize < 1000:
            sizestr = str(filesize) + " by"
        elif filesize < 1000000:
            sizestr = "%0.1f KB" % (filesize / 1000)
        else:
            sizestr = "%0.1f MB" % (filesize / 1000000)
 
        prettyprintname = ""
        for _ in range(tabs):
            prettyprintname += "   "
        prettyprintname += file
        if isdir:
            prettyprintname += "/"
        print('{0:<40} Size: {1:>10}'.format(prettyprintname, sizestr))
 
        # recursively print directory contents
        if isdir:
            print_directory(path + "/" + file, tabs + 1)
 
 
print("Files on filesystem:")
print("====================")
print_directory("/sd")

Details


↩ Return Home

↩ Return to Resources

↩ Return to Code Examples