Как я сохраняю к диску временный файл с помощью Python?

Важно использовать стенографию для поддержки кросс-браузера:

.row {
    display: flex;
    flex-direction: row; /* <-- this is the default so unnecessary to state */
    flex-grow: 1;
    justify-content: space-between;
}

.button {
    display: flex;
   /* flex-grow: 1; replace with shorthand */ 
   flex:1 0 100%; /* probably making the "width: 100%;" unnecessary */
    justify-content: center;
}

.button#number0 {
    /* flex-grow: 2; replace with shorthand */ 
   flex:2 0 100%;
}

.button#colon {
    /* flex-grow: 1; replace with shorthand */ 
    flex:1 0 100%;
}
25
задан sanxiyn 10 November 2008 в 00:57
поделиться

3 ответа

Файл, который Вы создаете с TemporaryFile или NamedTemporaryFile, автоматически удален, когда он закрывается, который является, почему Вы получаете ошибку. Если Вы не хотите это, можно использовать mkstemp вместо этого (см. документы для tempfile).

>>> import tempfile, shutil, os
>>> fd, path = tempfile.mkstemp()
>>> os.write(fd, 'foo')
>>> os.close(fd)
>>> shutil.copy(path, 'bar.txt')
>>> os.remove(path)
20
ответ дан Paolo Stefan 15 October 2019 в 15:10
поделиться

Запуск с python 2.6 можно также использовать NamedTemporaryFile с delete= набор опции ко Лжи. Таким образом, временный файл будет доступен, даже после закрытия его.

Примечание, что в Windows (NT и позже) Вы не можете получить доступ к файлу во второй раз, в то время как это все еще открыто. Необходимо закрыть его, прежде чем можно будет скопировать его. Это не верно в системах Unix.

12
ответ дан 15 October 2019 в 15:10
поделиться

Вы могли всегда использовать shutil.copyfileobj в Вашем примере:

new_file = open('bar.txt', 'rw')
shutil.copyfileobj(f, new_file)
5
ответ дан Exelian 15 October 2019 в 15:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: