Computer >> Máy Tính >  >> Lập trình >> Python

Cách sử dụng các biến môi trường Python

Khi bạn đang phát triển trên các môi trường khác nhau, bạn có thể muốn chỉ định các giá trị cấu hình khác nhau cho từng môi trường. Máy tính mà bạn đã phát triển ứng dụng sẽ không giống với máy tính mà bạn triển khai ứng dụng.

Đó là nơi các biến môi trường được sử dụng!

Trong hướng dẫn này, chúng ta sẽ nói về các biến môi trường là gì và cách chúng có thể được sử dụng. Chúng tôi sẽ giới thiệu cho các bạn một ví dụ về các biến môi trường Python để giúp bạn bắt đầu.

Biến môi trường là gì?

Biến môi trường là một biến có giá trị được đặt bên ngoài chương trình.

Các biến môi trường cho phép bạn đặt các giá trị khác nhau cho một biến tùy thuộc vào môi trường mà bạn đang xây dựng ứng dụng.

Tại sao các biến môi trường được sử dụng?

Nhiều ứng dụng, đặc biệt là những ứng dụng cộng tác, có nhiều môi trường khác nhau. Một môi trường sẽ được sử dụng để thử nghiệm, một môi trường khác để sản xuất và một môi trường khác để phát triển. Các môi trường này thường có các giá trị cấu hình khác nhau cần được thiết lập.

Các khóa giao diện lập trình ứng dụng (API) mà bạn sử dụng trong quá trình sản xuất có thể sẽ không giống với các khóa bạn sử dụng trên máy cục bộ của mình. Bạn có thể sử dụng dữ liệu giả trên máy cục bộ của mình khi xây dựng ứng dụng, nhưng điều này không phù hợp trong môi trường sản xuất.

Giá trị của một biến môi trường có thể được thay đổi mà không làm thay đổi chương trình của bạn. Điều này có nghĩa là bạn có thể dễ dàng triển khai các thay đổi đối với mã của mình mà không cần phải thay thế các giá trị cấu hình cho một môi trường mới.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Các biến môi trường cũng được sử dụng cho mục đích bảo mật. Việc viết các khóa API và giá trị cấu hình bên trong một chương trình chính có thể rủi ro vì mọi người trong một dự án đều có thể nhìn thấy chúng. Nếu bạn nêu một giá trị bên trong một biến môi trường, thì chỉ chương trình của bạn và nhà phát triển đã đặt biến đó mới có thể truy cập vào nó.

Cách đặt biến môi trường

Hãy bắt đầu bằng cách tạo một biến môi trường. Một biến môi trường sẽ chỉ tồn tại cho đến khi phiên Python của bạn kết thúc. Điều này có nghĩa là sau khi bạn đóng trình thông dịch Python của mình, biến sẽ được đặt lại trong các tập lệnh Python của bạn.

Chúng tôi đang xây dựng một ứng dụng sử dụng API Airtable. Chúng tôi sẽ chia sẻ mã của mình trên GitHub vì vậy chúng tôi không muốn khóa API của mình được hiển thị công khai. Để thêm khóa API vào mã của chúng tôi mà không chia sẻ công khai, chúng tôi sẽ sử dụng một biến môi trường.

Bước đầu tiên là nhập thư viện hệ điều hành:

import os

Thư viện này chứa mã để làm việc với các biến môi trường Python. Tiếp theo, chúng ta sẽ đặt một biến môi trường:

Os.environ[“AIRTABLE_KEY”] = “YOUR_API_KEY”

Đoạn mã này sẽ đặt một biến có tên AIRTABLE_KEY. Giá trị của nó là YOUR_API_KEY . Việc gán một biến môi trường hoạt động tương tự như cách bạn thay đổi các giá trị trong từ điển.

Bạn cần chỉ định tên của biến mà bạn muốn đặt hoặc thay đổi, theo sau là dấu bằng, sau đó là giá trị bạn muốn gán cho biến.

Cú pháp tương tự có thể được sử dụng để thay đổi một biến môi trường:

os.environ[“AIRTABLE_KEY”] = “YOUR_API_KEY_2”

Giá trị của khóa API của chúng tôi đã thay đổi thành YOUR_API_KEY_2 .

Cách lấy biến môi trường

Chúng tôi vừa đặt một biến môi trường. Câu hỏi trong đầu bạn có lẽ là:làm thế nào chúng ta có thể lấy lại giá trị? Đó là nơi chúng tôi có thể sử dụng os.environ.get() phương pháp.

Hãy truy xuất giá trị của AIRTABLE_KEY của chúng tôi Biến đổi:

api_key = os.environ.get("AIRTABLE_KEY")
print(api_key)

Chúng tôi đã tuyên bố rằng chúng tôi muốn nhận giá trị của AIRTABLE_KEY biến môi trường. Chúng tôi gán giá trị này cho một biến mới có tên là api_key và sau đó in nó ra bảng điều khiển.

Mã của chúng tôi trả về:YOUR_API_KEY_2 .

Bạn có thể truy xuất danh sách tất cả các biến môi trường mà bạn đã đặt bằng cách in nội dung của os.enosystem vào bảng điều khiển:

print(os.environ)

Có một số biến môi trường mặc định được đặt bên trong Python. Điều này có nghĩa là việc in ra tất cả các biến môi trường được đặt bên trong chương trình Python có thể trả về một danh sách dài.

Cách xóa biến môi trường

Bạn có thể xóa các biến môi trường bên trong một dự án Python. Điều này có thể được thực hiện bằng cách sử dụng os.environ.pop() phương pháp. Hãy xóa AIRTABLE_KEY của chúng tôi biến môi trường:

os.environ.pop(“AIRTABLE_KEY”)

Mã này xóa AIRTABLE_KEY biến môi trường.

Làm điều này là không thực tế nếu bạn muốn xóa nhiều biến môi trường. Nếu bạn đang bắt đầu một phiên bản mới của một dự án hoặc muốn đặt lại tất cả các biến môi trường trong phiên của mình, bạn có thể có hàng tá giá trị để ghi đè.

Đó là nơi mà clear() có ích. Hãy xóa tất cả các biến môi trường trong phiên của chúng ta:

os.environ.clear()
print(os.environ)

Đoạn mã này xóa các giá trị của tất cả các biến môi trường. Sau đó, nó in ra danh sách tất cả các biến môi trường trong phiên của chúng tôi:

{}

Python đặt một số biến môi trường mặc định có thể cần thiết cho dự án của bạn.

Bạn chỉ nên sử dụng clear() nếu bạn tự tin rằng bạn không cần bất kỳ biến môi trường nào trong một chương trình nữa. Sử dụng pop() phương pháp được ưu tiên vì nó cụ thể hơn.

Cách đặt các biến môi trường bằng Dotenv

Thư viện dotenv cung cấp một số hàm hữu ích để quản lý các biến môi trường.

Đáng chú ý, dotenv cho phép bạn đọc các biến môi trường từ một tệp. Điều này có nghĩa là bạn không cần phải khai báo chúng bên trong một trình bao Python.

Việc đọc các biến môi trường từ một tệp mô-đun sẽ thuận tiện hơn nếu bạn có nhiều giá trị để đọc. Nó cũng giúp bạn quản lý các biến dễ dàng hơn nếu bạn cần thay đổi giá trị của chúng.

Để làm việc với gói dotenv, bạn sẽ cần cài đặt nó. Bạn có thể làm điều này bằng cách sử dụng easy_install hoặc pip.

Hãy bắt đầu bằng cách xác định một biến môi trường. Để làm điều này, chúng ta sẽ tạo một tệp có tên là .env. Chúng tôi có thể tạo tệp này từ dòng lệnh bằng cách sử dụng lệnh cảm ứng:

touch .env

Mở tệp .env của bạn và thêm các nội dung sau:

AIRTABLE_KEY=YOUR_API_KEY_3

Các biến môi trường được gán giống như bất kỳ biến nào khác. Ở phía bên trái của dấu bằng, bạn có tên của biến. Ở phía bên phải, bạn có giá trị mà biến sẽ lưu trữ. Hai giá trị này được phân tách bằng dấu bằng.

Tiếp theo, chúng tôi sẽ tải các biến của mình vào một tệp:

from dotenv import load_dotenv

load_dotenv()

Mã này nhập load_dotenv() từ thư viện dotenv và thực thi nó. Điều này sẽ đọc tất cả các biến trong tệp .env của chúng tôi vào môi trường của chúng tôi.

Tiếp theo, hãy thử truy xuất biến của chúng tôi bằng cách sử dụng thư viện hệ điều hành:

import os

api_key = os.environ.get("AIRTABLE_KEY")
print(api_key)

Mã của chúng tôi trả về:YOUR_API_KEY_3 . Khóa API của chúng tôi đã được đặt bên trong tệp .env của chúng tôi. load_dotenv() phương thức đã tải các biến môi trường của chúng tôi và làm cho chúng có thể truy cập được bằng cách sử dụng phương pháp môi trường.

Kết luận

Biến môi trường là các giá trị được xác định trước được sử dụng để định cấu hình giá trị bên ngoài chương trình. Chúng thường được sử dụng để thiết lập các môi trường khác nhau, do đó có tên.

Các biến môi trường là một cách an toàn để đặt các giá trị bí mật. Bạn không muốn thêm trực tiếp khóa API vào mã ứng dụng của mình vì mọi người xem ứng dụng của bạn đều có thể đọc được khóa này. Bạn có thể đặt nó trong một biến môi trường để chỉ bạn và chương trình của bạn có thể thấy giá trị.

Bây giờ, bạn đã sẵn sàng để bắt đầu làm việc với các biến môi trường bằng mã Python như một người chuyên nghiệp!