Прежде всего, я только начал python, но я очень старался найти то, что подходит для меня. Я собираюсь сделать простую файловую систему для Linux, но, честно говоря, я даже не уверен, достижимо ли это с помощью Python. Поэтому мне нужно немного помочь здесь.
Я попытался создать структуру классов и назвал кортежи (по одному, которые подходят), и я решил, что классы будут лучше для меня. Дело в том, что я не мог читать побайтово, потому что размер моего класса был 888, а в C - 44 (там я использовал sys.getsizeof ()). Будет лучше понять, чего я хочу достичь с помощью кода ниже
Для этой структуры
struct sb{
int inode_bitmap;
int data_bitmap[10];
};
Я использовал
#SUPER BLOCK
class sb(object):
__slots__ = ['inode_bitmap', 'data_bitmap'] #REDUCE RAM USAGE
def __init__(bruh, inode_bitmap, data_bitmap):
bruh.inode_bitmap = inode_bitmap
bruh.data_bitmap = [None] * 10 #DEFINITION OF ARRAY
Все было хорошо, пока я не прочитал это
FILE * fin = fopen("simplefs.bin", "r");
struct inode slash;
fseek(fin, sizeof(struct sb), SEEK_SET);
fread(&slash,sizeof(slash),1,fin);
fin = open("simplefs.bin", "rb")
slash = inode
print("pos:", fin.tell())
contents = fin.read(sys.getsizeof(sb))
print(contents)
С момента фактическогоразмер файла был примерно 4800, но когда я читал, размер был примерно 318
Я прекрасно понимаю, что python - это не C, но я просто провожу некоторые эксперименты, если это возможно