python脚本中如何设置系统的环境变量

本文介绍如何在Python脚本中操作系统的环境变量,详细示例代码可在GitHub的PythonLearning仓库查阅。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

具体查看github https://github.com/double12gzh/PythonLearning/blob/master/setup_env_in_script.py 

#!/usr/bin/python

####################################################################
# Author:      Jeffrey Guan
# Date:        2016-10-24
# Description: set the environment parameters in python script.
#              For example, if we want to run "nova list" in python 
#              script before "source openrc" in CLI, we can safely 
#              use this script. 
#
#              A part of "/root/openrc" is:
#               #!/bin/sh
#               export LC_ALL=C
#               export OS_NO_CACHE='true'
#               export OS_TENANT_NAME='admin'
#               export OS_PROJECT_NAME='admin'
#               export OS_USERNAME='admin'
#               export OS_PASSWORD='admin'
#####################################################################

import os
import re

# Open the file.
file_obj = open('/root/openrc')

try:
  # Search the str started with "export" and contains "=".
  patt_save_str = re.compile(r'^export.*=.*')
  # Search "=".
  patt_rm_str = re.compile(r'=')

  # Read file content by lines.
  lines = file_obj.readlines()

  for line in lines:
    match = patt_save_str.search(line)
    if match:
      # Remove the "export" and "" from match.group(0).
      temp_str = match.group(0).strip("export").strip()

      # Split the str into a list by "=".
      environ_value_dic = patt_rm_str.split(temp_str)

      # Set the value for each env parameters.
      os.environ[environ_value_dic[0]] = environ_value_dic[1].strip("'")

  # Print the env and values. Or we can run "env" on the CLI to check 
  # all env and values.
  #
  #print os.getenv('OS_PROJECT_NAME')

  # Test nova command.
  os.system('nova list')

finally:
  file_obj.close()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值