Linux服务器读写python环境变量

        在公司项目开发过程中,代码都是放在服务器中进行运行的,使用本地的idea工具连接到服务器。

        如python开发中,将使用pycharm工具连接服务器,如下图所示:

        在项目中有线上正式环境、测试环境等,都是用不同环境变量的,因此这些不同的变量需要写到环境变量中,容易项目不同的环境切换,如下示例代码中,环境变量如图所示,

示例代码:

import os

env_name = os.getenv('name')
env_age = os.getenv('age')

print(env_name)
print(env_age)

运行结果:

        在本地的电脑中连接远程服务器是直接可以运行上述代码的,但是直接到服务器中直接运行上述代码效果如下一些图所示:

接下来将操作如何在服务器中进行读取python环境变量:

1. 在Linux服务器上设置临时环境变量

        这种写法只在当前终端或者命令行生效,一旦退出终端或命令行就会失效。

写法如下:

export name=dgw

当多个环境变量同时写时: 

 验证环境变量是否生效:

2. Linux系统中设置永久环境变量

(1)vim  /etc/profile

(2)在文件底行写入:export age=26

(3):wq!保存退出

(4)source /etc/profile

注意:上述更改后,全局都是生效的。此时对已经打开的会话窗口不生效,需要重新打开新的会话窗口。

验证环境变量是否永久生效:

建议新建一个专门存放环境变量的文件,不要直接在/etc/profile中进行添加。/etc/profile需要在root用户下进行添加,对所有用户都生效的。如下所示文件中,此时仅对该会话窗口起作用,同一用户的其他窗口也是不起作用的。

程序启动时需要后台启动的,借助nohup命令来后台启动程序,这时更改python代码,来验证关闭窗口后,在其它窗口或用户下查看日志时环境变量是否还存在:

此时关闭该会话窗口,程序也是可以正常执行,环境变量也是正常的。

提高环境变量参数的复杂度:

注意:如果使用nohup时不能打印print日志的话,可以添加一个-u参数:

nohup python3 -u python_test.py > logs.log 2>&1 &

注意:实际开发过程中不会直接在linux的/etc/profile里直接写环境变量,可以自定义一个文件,写入环境变量,方式和在/etc/profie里一致,source一下就会永久生效,然后以 ‘.’ 开头给文件命名把文件隐藏,这样更加安全。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值