Biến môi trường mặc định của Python

Trong bài đăng này, bạn sẽ tìm hiểu về cách sử dụng biến môi trường trong Python trên Windows, macOS và Linux. Các biến môi trường trong Python cho phép bạn viết các quy trình công việc mượt mà hơn và mã an toàn hơn

Bạn sẽ tìm hiểu lý do tại sao các biến môi trường lại hữu ích để tìm hiểu và cách triển khai chúng. Bạn sẽ tìm hiểu cách lấy và đặt biến môi trường trong Python. Bạn cũng sẽ tìm hiểu cách triển khai các biến môi trường Python một cách an toàn trong các công cụ quản lý kiểm soát nguồn như Github

Đến cuối hướng dẫn này, bạn sẽ học được

  • Biến môi trường trong Python là gì và tại sao bạn muốn sử dụng chúng
  • Cách nhận và đặt biến môi trường trong Python bằng Windows, macOS và Linux
  • Cách cải thiện quy trình làm việc của biến môi trường với thư viện
    # Checking the Type of the os.environ
    import os
    print[type[os.environ]]
    
    # Returns
    # 
    6
  • Cách lưu trữ an toàn các biến môi trường khi làm việc với các công cụ quản lý kiểm soát nguồn như Github

Mục lục

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

Biến môi trường Python là các biến tồn tại bên ngoài mã của bạn và là một phần trong cấu hình của hệ thống hoặc người dùng hiện tại của bạn. Tại sao bạn muốn sử dụng các biến môi trường?

  • Sắp xếp hợp lý hơn – bằng cách không cần lặp lại các hằng số như khóa API trên nhiều tệp. Tương tự, việc sử dụng các biến môi trường mang đến cho bạn cơ hội định cấu hình mã của mình để mã có thể được điều chỉnh cho phù hợp với một người dùng cụ thể đang chạy mã của bạn. Ví dụ: nếu mã của bạn được nhiều người sử dụng, đường dẫn của người dùng có thể được truy cập từ môi trường
  • An toàn hơn – bằng cách không để lộ các khóa bảo mật hoặc cấu hình người dùng trong mã của bạn. Điều này cho phép bạn chia sẻ mã dựa trên khóa API hoặc thông tin bảo mật khác mà không cần tiết lộ mã đó. Điều này ngăn những người khác chuẩn bị sẵn những mẩu thông tin an toàn này

Biến môi trường đại diện cho các cặp dữ liệu khóa-giá trị mà mã của bạn có thể truy cập. Như bạn sẽ tìm hiểu sau, chúng có thể được truy cập giống như bất kỳ giá trị từ điển nào

Khi nào nên sử dụng biến môi trường Python

Các biến môi trường nên được sử dụng khi một biến thay đổi theo môi trường [chẳng hạn như khi một người dùng khác chạy mã]. Điều này có nghĩa là các trường hợp sử dụng tốt nhất là khi mã cần cập nhật thủ công khi chạy trong một môi trường khác

Tương tự, các biến môi trường nên được sử dụng khi dữ liệu an toàn được triển khai trong một đoạn mã được chia sẻ [hoặc mã được chia sẻ với công cụ quản lý kiểm soát nguồn như Github]. Điều này cho phép bạn nhúng thông tin an toàn bên ngoài mã, trong khi vẫn có thể chạy mã của bạn

Khi bạn lần đầu tiên tìm hiểu về các biến môi trường, có vẻ như bạn nên sử dụng chúng cho mọi thứ. Làm theo hướng dẫn được đề cập ở trên đặt ra một tiêu chuẩn tốt khi sử dụng chúng

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

Các biến môi trường có thể được truy cập bằng thư viện

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
7. Đặc biệt, chúng được lưu trữ trong thuộc tính
# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
8. Bởi vì gói
# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
7 là một phần của thư viện Python tiêu chuẩn, bạn không cần cài đặt thêm bất cứ thứ gì để chạy nó

Trong phần sau, bạn sẽ học cách sử dụng mô-đun

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
6 để quản lý các biến môi trường dễ dàng hơn. Bây giờ, hãy xem cách bạn có thể lấy tất cả các biến môi trường bằng thư viện
# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
7

Cách xem tất cả các biến môi trường Python

Cách dễ nhất để lấy tất cả các biến môi trường có sẵn là in ra thuộc tính

# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy
2. Để thực hiện việc này, trước tiên bạn cần nhập thư viện. Hãy xem nó trông như thế nào

# Getting All Environment Variables Using os
import os
print[os.environ]

# Returns:
# environ[{'TERM_PROGRAM': 'vscode', ...}]

Tôi đã cắt bớt giá trị trả về ở trên để dễ đọc hơn. Chạy cái này trên máy của bạn có thể sẽ hiển thị một số lượng lớn các biến

Chúng ta có thể kiểm tra kiểu của biến này để xem nó là gì

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 

Trong phần tiếp theo, bạn sẽ tìm hiểu cách lấy một biến môi trường duy nhất trong Python

Cách lấy một biến môi trường duy nhất trong Python

Bởi vì giá trị trả về của thuộc tính

# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy
2 là một cấu trúc giống như từ điển, nên chúng ta có thể truy cập một biến cụ thể bằng cách sử dụng khóa của nó. Ví dụ: nếu chúng tôi muốn lấy biến môi trường cho
# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy
4, chúng tôi có thể truy cập nó như cách chúng tôi làm với bất kỳ giá trị nào của từ điển khác

# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy

Bây giờ, điều gì sẽ xảy ra nếu chúng ta cố gắng truy cập một biến không tồn tại?

# Getting an Environment Variable that Doesn't Exist
import os
print[os.environ['nonesense']]

# Returns: KeyError: 'nonsense'

Chúng ta có thể thấy rằng điều này làm tăng

# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy
6. Nếu chúng tôi không muốn chương trình của mình gặp sự cố, chúng tôi có thể sử dụng phương pháp
# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy
7 để trả về một cách an toàn
# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy
8 nếu không có giá trị nào tồn tại. Hãy xem nó trông như thế nào

# Returning None if No Environment Variable Exists
import os
print[os.getenv['nonsense']]

# Returns: None

Trong phần tiếp theo, bạn sẽ tìm hiểu cách kiểm tra xem biến môi trường có tồn tại trong Python hay không

Cách kiểm tra xem biến môi trường có tồn tại trong Python không

Vì giá trị trả về từ thuộc tính

# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy
2 giống như từ điển nên bạn có thể sử dụng từ khóa
# Getting an Environment Variable that Doesn't Exist
import os
print[os.environ['nonesense']]

# Returns: KeyError: 'nonsense'
0 để kiểm tra xem có tồn tại biến môi trường trong Python hay không. Hãy xem cách chúng ta có thể kiểm tra xem biến
# Getting a Single Environment Variable in Python
import os
print[os.environ['USER']]

# Returns: datagy
4 có tồn tại trên môi trường hay không bằng cách sử dụng khối
# Getting an Environment Variable that Doesn't Exist
import os
print[os.environ['nonesense']]

# Returns: KeyError: 'nonsense'
2

# Checking if an Environment Variable Exists in Python
import os

if 'USER' in os.environ:
    print['Environment variable exists!']
else:
    print['Environment variable does not exist.']

# Returns:
# Environment variable exists!

Sử dụng điều kiện này cho phép bạn chạy mã một cách an toàn để xem có tồn tại biến môi trường hay không. Ví dụ: nếu biến không tồn tại, bạn có thể nhắc người dùng nhập dữ liệu trước khi tiếp tục

Trong phần sau, bạn sẽ tìm hiểu cách trả về giá trị mặc định nếu giá trị này không tồn tại

Cách trả về giá trị mặc định cho biến môi trường nếu không tồn tại

Nếu không có giá trị nào tồn tại cho một biến môi trường, bạn có thể chuyển vào một giá trị mặc định. Điều này cũng có thể được thực hiện bằng cách sử dụng phương pháp

# Getting an Environment Variable that Doesn't Exist
import os
print[os.environ['nonesense']]

# Returns: KeyError: 'nonsense'
3. Bằng cách chuyển tham số thứ hai, giá trị mặc định có thể được trả về nếu một biến không tồn tại

Hãy xem nó trông như thế nào

# Returning a Default Value When a Variable Doesn't Exist
import os
print[os.getenv['nonsense', 'default value']]

# Returns: default value

Trong các phần tiếp theo, bạn sẽ tìm hiểu cách đặt biến môi trường

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

Bây giờ bạn đã biết cách lấy biến môi trường bằng Python, trong phần này, bạn sẽ tìm hiểu cách đặt giá trị cho biến mới hoặc biến hiện có. Vì quy trình này khác nhau đối với Windows và macOS / Linux nên quy trình này được chia thành hai phần khác nhau

Cách đặt biến môi trường trong Python bằng macOS và Linux

Để đặt biến môi trường trong Python bằng macOS hoặc Linus là sử dụng lệnh

# Getting an Environment Variable that Doesn't Exist
import os
print[os.environ['nonesense']]

# Returns: KeyError: 'nonsense'
4 trong phiên trình bao. Ví dụ: nếu chúng tôi muốn đặt biến của API_KEY bằng
# Getting an Environment Variable that Doesn't Exist
import os
print[os.environ['nonesense']]

# Returns: KeyError: 'nonsense'
5, chúng tôi có thể viết như sau

# Setting an Environment Variable
export API_KEY = '123abc'

Khi bạn chạy mã này trong thiết bị đầu cuối của mình, biến môi trường sẽ được đặt trên toàn cầu cho tất cả các chương trình cho phiên đó. Khi bạn đóng thiết bị đầu cuối của mình, các biến môi trường lại bị mất

Nếu bạn chỉ muốn đặt biến môi trường cho một tập lệnh cụ thể, bạn cũng có thể thực hiện việc này từ lệnh trình bao. Đơn giản chỉ cần thay đổi lệnh này

# Setting an Environment Variable
API_KEY = '123abc' python myscript.py

Cách đặt biến môi trường trong Python bằng Windows

Windows cung cấp các cách rất giống nhau để đặt biến môi trường trong Python. Tương tự như macOS và Linux, bạn có thể đặt các biến cho một phiên bằng cách sử dụng dấu nhắc lệnh. Thay vì sử dụng

# Getting an Environment Variable that Doesn't Exist
import os
print[os.environ['nonesense']]

# Returns: KeyError: 'nonsense'
4, bạn sử dụng từ
# Getting an Environment Variable that Doesn't Exist
import os
print[os.environ['nonesense']]

# Returns: KeyError: 'nonsense'
7. Hãy cùng xem

# Setting an Environment Variable
set API_KEY = '123abc'

Thay vào đó, nếu bạn đang sử dụng bảng điều khiển PowerShell, bạn cần sử dụng mã sau

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
0

Trong phần sau, bạn sẽ tìm hiểu một cách dễ dàng hơn nhiều để thiết lập và quản lý các biến môi trường, sử dụng thư viện

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
6

Cách sử dụng dotenv trong Python để làm việc với các biến môi trường trong Python

Sử dụng thiết bị đầu cuối hoặc dấu nhắc lệnh để quản lý các biến môi trường có thể là một công việc tốn nhiều thời gian và nói thẳng ra là gây phiền nhiễu. Do đó, Python cung cấp tùy chọn sử dụng thư viện

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
6 để quản lý tốt hơn các biến môi trường

Lợi ích của việc sử dụng thư viện dotenv là quy trình này giống nhau đối với Windows, macOS và Linux. Cách thức hoạt động của quy trình này là bao gồm tệp

# Returning None if No Environment Variable Exists
import os
print[os.getenv['nonsense']]

# Returns: None
0 trong thư mục dự án mà bạn đang làm việc. Tệp sẽ chứa các biến môi trường mà bạn muốn sử dụng trong tập lệnh của mình

Hãy xem cách chúng ta có thể sử dụng thư viện dotenv để quản lý các biến môi trường tốt hơn trong Python. Trước tiên, chúng ta cần cài đặt thư viện dotenv, có thể thực hiện việc này bằng cách sử dụng

# Returning None if No Environment Variable Exists
import os
print[os.getenv['nonsense']]

# Returns: None
1 hoặc
# Returning None if No Environment Variable Exists
import os
print[os.getenv['nonsense']]

# Returns: None
2

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
1

Khi điều này được thực hiện, chúng ta cần tạo tệp trong thư mục. Cách dễ nhất để làm điều này là sử dụng thiết bị đầu cuối

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
2

Khi điều này được thực hiện, bạn có thể mở tệp, đây thực sự chỉ là một tệp văn bản. Từ đó, bạn có thể thêm tất cả các biến môi trường mà bạn muốn sử dụng. Cách thực hiện điều này là đặt các biến khác nhau trên các dòng mới và tạo cặp khóa-giá trị bằng cách sử dụng dấu bằng

# Returning None if No Environment Variable Exists
import os
print[os.getenv['nonsense']]

# Returns: None
3

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
3

Từ đó, trong tập lệnh Python của bạn, thật dễ dàng như nhập thư viện và tải tệp

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
4

Hàm sẽ tìm kiếm trong thư mục hiện tại cho tệp

# Returning None if No Environment Variable Exists
import os
print[os.getenv['nonsense']]

# Returns: None
0. Nếu nó không tìm thấy, nó sẽ tiếp tục di chuyển qua các thư mục để thử và tìm tệp

Tương tự, bạn có thể chỉ cần chuyển đường dẫn đầy đủ tới tệp để làm cho mã của bạn rõ ràng hơn

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
5

Sử dụng dotenv một cách an toàn với Công cụ quản lý kiểm soát nguồn

Vì các biến môi trường có thể được sử dụng để lưu trữ thông tin nhạy cảm, điều quan trọng là phải lưu ý không bao gồm chúng khi làm việc với các công cụ SCM như Github. Để làm việc với những thứ này một cách an toàn, bạn có thể thêm chúng vào tệp

# Returning None if No Environment Variable Exists
import os
print[os.getenv['nonsense']]

# Returns: None
5

Để làm cho mã của bạn dễ hiểu hơn đối với người khác, chỉ cần thêm một tệp ví dụ

# Returning None if No Environment Variable Exists
import os
print[os.getenv['nonsense']]

# Returns: None
0 vào kho lưu trữ của bạn. Điều này cho phép người đọc mã của bạn hiểu những biến môi trường nào phải được đặt

Phần kết luận

Trong hướng dẫn này, bạn đã học tất cả về các biến môi trường trong Python. Các biến môi trường cung cấp khả năng chạy mã của bạn một cách tao nhã và an toàn. Chúng cung cấp cơ hội để hợp lý hóa mã của bạn mà không cần lặp lại và thay đổi mã của bạn. Tương tự như vậy, chúng ngăn việc phải chia sẻ các mục bảo mật như Khóa API

Bạn đã học cách lấy và đặt biến môi trường trong Python bằng thư viện

# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
7. Bạn cũng đã học cách sử dụng thư viện
# Checking the Type of the os.environ
import os
print[type[os.environ]]

# Returns
# 
6 để quản lý các biến môi trường dễ dàng hơn nhiều trong Python

Giá trị mặc định của biến môi trường trong Python là gì?

. Đây là tên của một biến môi trường. default=None . Nếu khóa không tồn tại, mặc định sẽ được đặt thành Không có. mặc định là một giá trị tùy chọn.

Python lấy biến môi trường ở đâu?

Các biến môi trường trong Python được truy cập bằng cách sử dụng hệ điều hành. đối tượng môi trường . hệ điều hành. đối tượng môi trường có vẻ giống như một từ điển nhưng khác vì các giá trị chỉ có thể là các chuỗi, cộng với nó không thể tuần tự hóa thành JSON.

Làm cách nào để đặt biến môi trường Python?

Để sửa đổi vĩnh viễn các biến môi trường mặc định, nhấp vào Bắt đầu và tìm kiếm 'chỉnh sửa biến môi trường' hoặc mở Thuộc tính hệ thống, Cài đặt hệ thống nâng cao và nhấp vào nút Biến môi trường. In this dialog, you can add or modify User and System variables.

Làm cách nào để lấy tất cả các biến env trong Python?

Liệt kê tất cả các biến môi trường .
nhập hệ điều hành
cho tên, giá trị trong os. môi trường. mặt hàng[]
in["{0}. {1}". định dạng [tên, giá trị]]

Chủ Đề