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

具体查看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()


posted @ 2016-10-24 21:22  大海星  阅读(2269)  评论(0编辑  收藏  举报