мне дают SpooledTemporaryFile через Fastapi uploadfile . Моя цель - написать его на диск, чтобы я мог извлечь его и обработать его содержимое позже. Это кажется простым, но у меня возникают проблемы с сохранением файла. Я сделал тестовый сценарий ниже: < /p>
file_path = "new.tar.gz"
old_file = open("old.tar.gz", "wb")
with open(file_path, mode="xb") as new_file:
new_file.write(old_file.read())
он работает отлично, пока mode = "wb" . Но в тот момент, когда я изменяю его на W+B как временныйфиль , полученный файл становится нечитаемым TAR -XVF . У меня нет возможности изменить режим, как это происходит внутри Fastapi. Почему файлы искажены, и как мне это остановить? Если я ошибаюсь, просто прокомментируйте, и я его изменю. Вот еще несколько контекста: < /p>
from fastapi import FastAPI
from pathlib import Path
app = FastAPI()
@router.post("/upload")
async def upload(archive: UploadFile)
target_dir = Path("data/upload")
target_dir.mkdir(parents=True, exist_ok=True)
target_file = target_dir / archive.filename
with open(file_path, mode="xb") as new_file:
new_file.write(await archive.read())
new_file.flush()
await archive.close()
Подробнее здесь: https://stackoverflow.com/questions/796 ... ed-tarfile
Python Save TemperaryFile чтение как «W+B» для сжатия Tarfile ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как использовать Python для создания файла ORC, сжатого с уровнем сжатия ZLIB 9?
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-