Разве это не будет более производительным, если преобразование будет выполнено в оперативной памяти, поскольку вам не придется иметь дело с накладными расходами диска ввода-вывода?
Да, было бы.И для этого вы можете использовать объект BytesIO
(или StringIO
), который можно использовать вместо файловых дескрипторов.Если вы используете pyarrow, у вас есть NativeFile
.
Поскольку вы увеличиваете число одновременных процессов, конвертирующих файлы и сохраняющих их на диск, у нас не могло возникнуть проблем с дискомнапример, нехватка места в некоторых точках или ограничение пропускной способности диска?
Также верно, но это ограничение для любых операций чтения / записи из / в файловую систему, включая базы данных.Дисковое пространство можно сэкономить, гарантируя, что файлы будут удалены, как только вы закончите с ними.Кроме того, вы с большей вероятностью достигнете предела пропускной способности, прежде чем достигнете предела пропускной способности диска, если только вы не обрабатываете много данных на диске или операторов SQL.
... но всебиблиотеки, которые я видел до сих пор, они всегда записывают на диск.
Если функциям явно не нужно «имя файла», вы можете заменить файловые указатели (fp
) набуферный объект, как указано выше.