gpt4 book ai didi

python - 如何在 python 脚本中引用 openshift 的 env 目录?

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:43 25 4
gpt4 key购买 nike

OpenShift 有这些默认目录:

# $_ENV['OPENSHIFT_INTERNAL_IP']  - IP Address assigned to the application
# $_ENV['OPENSHIFT_GEAR_NAME'] - Application name
# $_ENV['OPENSHIFT_GEAR_DIR'] - Application dir
# $_ENV['OPENSHIFT_DATA_DIR'] - For persistent storage (between pushes)
# $_ENV['OPENSHIFT_TMP_DIR'] - Temp storage (unmodified files deleted after 10 days)

如何在 python 脚本中引用它们?示例脚本“在日志目录中创建日志文件并在数据目录中登录?

from time import strftime

now= strftime("%Y-%m-%d %H:%M:%S")
fn = "${OPENSHIFT_LOG_DIR}/test.log"
fn2 = "${OPENSHIFT_DATA_DIR}/test.log"
#fn = "test.txt"

input = "appended text " + now + " \n"

with open(fn, "ab") as f:
f.write(input)
with open(fn2, "ab") as f:
f.write(input)

这些脚本可以和cron一起使用吗?

编辑 BASH 文件:

#! /bin/bash

#date >> ${OPENSHIFT_LOG_DIR}/new.log
source $OPENSHIFT_HOMEDIR/python-2.6/virtenv/bin/activate
python file.py
date >> ${OPENSHIFT_DATA_DIR}/new2data.log

最佳答案

import os

os.getenv("OPENSHIFT_INTERNAL_IP")

应该可以。

所以对于你的例子,修改为:-

import os
OPENSHIFT_LOG_DIR = os.getenv("OPENSHIFT_LOG_DIR")
fn = os.path.join(OPENSHIFT_LOG_DIR, "test.log")

而且,是的,如果需要,您可以通过引用 bash 脚本来使用 cron 调用此 python 脚本...例如:-

 #!/bin/bash
date >> ${OPENSHIFT_LOG_DIR}/status.log
chmod +x status
cd ${OPENSHIFT_REPO_DIR}/wsgi/crawler
nohup python file.py 2>&1 &

关于python - 如何在 python 脚本中引用 openshift 的 env 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com