создайте файл tar.gz и назовите его с помощью переменной - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь создать файл tar.gz модели XGBoost, выполнив команду оболочки с помощью python. Следующий код работает:

ts = strftime("%Y-%m-%d-%H-%M-%S", gmtime())
model_name = "model-" + ts
xgb._Booster.save_model(model_name)
!tar czvf model.tar.gz $model_name

Однако я хочу использовать model_name в именовании файла tar.gz, но не могу понять, как это сделать. Следующее НЕ работает:

!tar czvf $model_name.tar.gz $model_name

Как я могу сделать это, чтобы значение, сохраненное в model_name, было именем файла tar.gz, который я создаю?

Ответы [ 2 ]

2 голосов
/ 12 марта 2020

Он не знает, где заканчивается ваша переменная, поэтому поместите его в скобки.

!tar czvf ${model_name}.tar.gz ${model_name}
1 голос
/ 12 марта 2020

Используете ли вы i python?

Если это так, я думаю, вы должны сделать это так:

!tar czvf {model_name}.tar.gz {model_name}

Я не проверял вашу команду tar, но я проверял и следующие работы:

a = "myfile"
!touch {a}.txt

Я надеюсь, что это помогает

...