Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Akses nilai pembolehubah persekitaran dalam Python

Akses nilai pembolehubah persekitaran dalam Python

王林
王林ke hadapan
2023-08-25 22:17:051171semak imbas

Akses nilai pembolehubah persekitaran dalam Python

Pembolehubah persekitaran dalam Python ialah nilai konfigurasi yang disimpan di luar kod dan digunakan oleh aplikasi semasa runtime. Pembolehubah ini wujud sebagai pasangan nilai kunci, sama seperti kamus dalam Python. Pembolehubah ini boleh ditetapkan, dikemas kini atau dipadamkan dalam fail konfigurasi tanpa mengubah kod aplikasi. Python menyediakan beberapa fungsi sistem pengendalian untuk mengakses pembolehubah persekitaran tanpa menjejaskan kod aplikasi. Dalam artikel ini, kita akan belajar cara mengakses pembolehubah persekitaran dalam Python.

Menggunakan modul sistem pengendalian

Untuk berinteraksi dengan sistem pengendalian, python mempunyai modul os dengan bantuan yang mana anda boleh berinteraksi dengan sistem pengendalian dan mengakses pembolehubah persekitaran. Kamus os.environ mengandungi semua pembolehubah persekitaran dalam pasangan nilai kunci.

Kita boleh menggunakan os.environ untuk mengakses laluan ke pembolehubah persekitaran serta sebarang nilai pembolehubah persekitaran baharu.

Contoh

import os

# get the value of the PATH environment variable
path = os.environ['PATH']
print(path)

# set a new environment variable
os.environ['MY_VAR'] = 'my value'

# get the value of the new environment variable
my_var = os.environ['MY_VAR']
print(my_var)

Output

/opt/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin
my value

Contoh

Kod tersebut menimbulkan ralat kritikal jika pembolehubah persekitaran tidak ditemui. Untuk mengelakkan ralat sedemikian, kita boleh menggunakan fungsi os.environ.get() untuk mengakses pembolehubah persekitaran dan mengelakkan ralat utama apabila kunci tidak ditemui.

import os

# get the value of the MY_VAR environment variable, or return None
my_var = os.environ.get('MY_VAR')
print(my_var)

Output

None

Menggunakan modul Dotenv

Dalam industri, kami menggunakan persekitaran yang berbeza untuk pembangunan, pementasan dan asas kod pengeluaran. Terdapat fail pembolehubah persekitaran yang berasingan untuk setiap persekitaran. Dotenv ialah perpustakaan pihak ketiga untuk mengakses pembolehubah persekitaran dalam berbilang persekitaran.

Pemasangan

Untuk menggunakan modul dotenv, kita perlu memasang python-dotenv terlebih dahulu melalui arahan berikut

pip install python-dotenv

Pip ialah pengurus pakej python. Pip install python-dotenv Memasang modul dotenv ke dalam sistem fail tempatan.

Selepas memasang modul python-dotenv, kami perlu mencipta fail .env dalam direktori akar projek dan mencipta nilai persekitaran di dalamnya sebagai pasangan nilai kunci.

MY_KEY_VAR=my_value

MY_KEY_VAR ialah kunci pembolehubah persekitaran, my_value ialah nilai yang sepadan.

Kini, kami boleh memuatkan fail .env ke dalam kod Python kami di mana sahaja diperlukan menggunakan fungsi dotenv.load_dotenv(), yang membaca fail .env dan memuatkan semua pembolehubah persekitaran ke dalam modul os.environ.

Contoh

from dotenv import load_dotenv
import os

# load the environment variables from the .env file
load_dotenv()

# get the value of the MY_VAR environment variable
my_var = os.environ['MY_KEY_VAR']
print(my_var)

Output

my_value

Menggunakan modul Argparse

argparse ialah perpustakaan standard dalam Python untuk menghuraikan argumen baris arahan. Kita boleh menghantar pembolehubah persekitaran sebagai argumen baris arahan dalam Python menggunakan perpustakaan argparse.

Algoritma

  • Tentukan hujah baris arahan untuk setiap pembolehubah persekitaran yang ingin kita lalui.

  • Kemudian gunakan objek args yang dikembalikan oleh argparse untuk mengakses pembolehubah persekitaran.

  • Pas pembolehubah persekitaran dan nilainya semasa menjalankan fail.

Contoh

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--my-var')
args = parser.parse_args()

my_var = args.my_var
print(my_var)

Output

None

Apabila menjalankan fail di atas, kita perlu menghantar nilai persekitaran dengan nama kunci.

python script.py --my-var "my value"

Apabila kita melepasi pilihan –my-var dan nilainya “nilai saya” dalam baris arahan, kaedah parse_args() modul argparse menghuraikan pilihan dan mendapat nilainya, iaitu “nilai_saya” .

Menggunakan modul penghurai konfigurasi

Configuration Parser ialah perpustakaan Python untuk membaca fail konfigurasi dalam aplikasi Python.

Algoritma

Untuk menggunakan modul parser konfigurasi kita mesti

  • Buat fail konfigurasi dan isytiharkan pembolehubah persekitaran seperti yang diperlukan dalam bentuk pasangan nilai kunci untuk setiap bahagian (seperti pembangunan, pengeluaran dan pementasan).

  • Gunakan fungsi os.getenv() dalam fail Python untuk mengakses persekitaran semasa.

  • Dalam fail Python yang perlu mengakses pembolehubah persekitaran, kita boleh menggunakan modul ConfigParser untuk mengakses pembolehubah persekitaran persekitaran semasa.

[development]
MY_VAR=my value

[production]
MY_VAR=another value

import configparser
import os

# get the current environment
env = os.getenv('ENVIRONMENT', 'development')

# read the configuration file
config = configparser.ConfigParser()
config.read('config.ini')

# get the value of the MY_VAR environment variable for the current environment
my_var = config.get(env, 'MY_VAR')
print(my_var)

Kesimpulan

Dalam artikel ini, kami meneroka cara yang berbeza untuk mengakses pembolehubah persekitaran dalam fail Python. Kami mempelajari cara mengakses pembolehubah persekitaran menggunakan modul os, cara mengakses pembolehubah persekitaran merentas berbilang persekitaran menggunakan perpustakaan dotenv, cara menghantar pembolehubah persekitaran sebagai argumen baris arahan menggunakan modul argparse dan cara menggunakan ConfigParser modul Akses pembolehubah persekitaran semasa dari pelbagai persekitaran.

Atas ialah kandungan terperinci Akses nilai pembolehubah persekitaran dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam