Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Làm việc với các biến môi trường trong Python
Làm việc với các biến môi trường trong Python rất dễ dàng nhờ thư viện tiêu chuẩn os
, nhưng nếu bạn muốn thiết lập biến môi trường ngay khi chương trình bắt đầu và tránh việc kiểm soát phiên bản của các giá trị biến, gói dotenv
là một công cụ hữu ích cho mục đích này. dotenv
cho phép tải và sử dụng các biến môi trường từ một file .env
trong dự án của bạn.
Cài đặt môi trường trong Python
Bạn có thể cài đặt dotenv
bằng cách sử dụng pip:
pip3 install python-dotenv
Lưu giá trị trong file .env
dotenv
đọc các biến môi trường từ một file .env
đặt trong thư mục dự án. file .env
chứa các cặp key=value
, ví dụ:
ACCESS_TOKEN=ABC123 SECRET_TOKEN=SUPERSECRET123
Giá trị nhiều dòng:
Bài viết này được đăng tại [free tuts .net]
ACCESS_TOKEN=ABC123 SECRET_TOKEN="SUPERSECRET123 CONTINUEDSECRET"
Hoặc sử dụng ký tự xuống dòng \n
:
ACCESS_TOKEN=ABC123 SECRET_TOKEN="SUPERSECRET12\nCONTINUEDSECRET"
Bạn cũng có thể sử dụng giá trị biến đã được định nghĩa trong cùng một file .env
bằng cú pháp ${VAR}
:
ROOT_PATH=/home/user LOGS_PATH=${ROOT_PATH}/logs
Tải file .env trong Python
Tải thành biến môi trường
Phương thức load_dotenv()
của gói dotenv
cho phép đọc file .env
từ đường dẫn được cung cấp (mặc định là ./.env
). Nếu không cung cấp đường dẫn, Python sẽ tìm file .env
trong thư mục chứa tập lệnh.
from dotenv import load_dotenv load_dotenv()
Tải thành dictionary
Phương pháp này không ảnh hưởng đến các biến môi trường hiện có mà sẽ chuyển đổi chúng thành một dictionary Python.
from dotenv import dotenv_values config = dotenv_values(".env") print(config)
Đầu ra:
{'ACCESS_TOKEN': 'ABC123', 'SECRET_TOKEN': 'SUPERSECRET12'}
Phiên bản hóa các biến môi trường
Một dự án có thể có nhiều môi trường khác nhau như thử nghiệm, phát triển, triển khai hoặc sản xuất, và mỗi môi trường có thể yêu cầu các biến môi trường khác nhau. Để quản lý điều này, bạn có thể tạo nhiều file .env
như:
.env.shared
.env.development
.env.production
Phân tách các biến môi trường vào từng file sẽ giúp dễ dàng kiểm soát phiên bản các file .env
này.
Kết bài
Qua bài viết, mình đã học cách sử dụng dotenv
để tải các biến môi trường từ file .env
và quản lý chúng một cách linh hoạt theo từng môi trường làm việc của dự án. Điều này giúp tăng cường bảo mật và tiện lợi trong quá trình phát triển.