os.environ
hoạt động như một từ điển python, vì vậy tất cả các hoạt động từ điển phổ biến có thể được thực hiện. Ngoài các hoạt động get
và set
được đề cập trong các câu trả lời khác, chúng tôi cũng có thể chỉ cần kiểm tra nếu một khóa tồn tại. Các khóa và giá trị nên được lưu trữ dưới dạng chuỗi .
Con trăn 3
Đối với python 3, từ điển sử dụng từ khóa trong thay vì has_key
>>> import os
>>> 'HOME' in os.environ # Check an existing env. variable
True
...
Con trăn 2
>>> import os
>>> os.environ.has_key('HOME') # Check an existing env. variable
True
>>> os.environ.has_key('FOO') # Check for a non existing variable
False
>>> os.environ['FOO'] = '1' # Set a new env. variable (String value)
>>> os.environ.has_key('FOO')
True
>>> os.environ.get('FOO') # Retrieve the value
'1'
Có một điều quan trọng cần lưu ý khi sử dụng os.environ
:
Mặc dù các tiến trình con kế thừa môi trường từ tiến trình cha, nhưng tôi đã gặp phải một vấn đề gần đây và nhận ra, nếu bạn có các tập lệnh khác cập nhật môi trường trong khi tập lệnh python của bạn đang chạy, hãy gọi os.environ
lại sẽ không phản ánh các giá trị mới nhất .
Trích từ tài liệu :
Ánh xạ này được ghi lại lần đầu tiên mô-đun os được nhập, thường là trong quá trình khởi động Python như là một phần của quá trình xử lý trang web. Những thay đổi đối với môi trường được thực hiện sau thời gian này không được phản ánh trong os.envir, ngoại trừ những thay đổi được thực hiện bằng cách sửa đổi trực tiếp os.envir.
os.environ.data
lưu trữ tất cả các biến môi trường, là một đối tượng dict, chứa tất cả các giá trị môi trường:
>>> type(os.environ.data) # changed to _data since v3.2 (refer comment below)
<type 'dict'>