Принятый ответ хорош, но он будет очень медленным с большими файлами -string - это неизменный класс, это означает, что каждый объект будет создан каждый раз, когда вы используете знак +
, используя list
в качестве структуры стека будет больше эффективный.
Это должно работать лучше
while True:
chunck = s.recv(10000)
if not chunck:
break
fragments.append(chunck)
print "".join(fragments)
Общая папка не очищается при каждом развертывании.
Однако большинство репозиториев на самом деле не имеют общей папки, вместо этого она создается только динамически во время CI / CD. Это динамически создаваемое содержимое не сохраняется между развертываниями.
Просто сохраните все файлы, которые вы хотите сохранить между развертываниями в вашем хранилище. Это может быть в папке с именем public в корне вашего хранилища. Таким образом, вам не придется перемещать файлы во время CI / CD. Просто убедитесь, что вы не перезаписываете, не перемещаете и не удаляете файлы во время вашей .gitlab-ci.yml
конфигурации.
Конечно, вы также можете хранить файлы в любом месте вашего репозитория и просто переместить их в нужное место под public/
в вашей конфигурации .gitlab-ci.yml
.