Mô-đun hệ điều hành trong Python cung cấp các chức năng để tương tác với hệ điều hành. Hệ điều hành đi kèm với các mô-đun tiện ích tiêu chuẩn của Python. Mô-đun này cung cấp một cách di động để sử dụng chức năng phụ thuộc vào hệ điều hành. hệ điều hành. đường dẫn mô-đun là một mô-đun con của mô-đun hệ điều hành trong Python được sử dụng để thao tác tên đường dẫn phổ biến
Phương thức
$ echo ENV
dev
4 trong Python được sử dụng để mở rộng các biến môi trường trong đường dẫn đã cho. Nó thay thế các chuỗi con có dạng $name hoặc ${name} trong đường dẫn đã cho bằng giá trị của tên biến môi trườngNếu đường dẫn đã cho chứa tên biến môi trường không đúng định dạng hoặc biến môi trường không tồn tại thì phương thức
$ echo ENV
dev
4 sẽ giữ nguyên đường dẫn đóTrên Windows, phần mở rộng %name% cũng được hỗ trợ ngoài phần mở rộng $name và ${name}
cú pháp. hệ điều hành. con đường. expandvars[đường dẫn]
Tham số.
đường dẫn. Một đối tượng giống đường dẫn đại diện cho đường dẫn hệ thống tệp. Một đối tượng giống như đường dẫn là một đối tượng chuỗi hoặc byte đại diện cho một đường dẫn.Loại trả lại. Phương thức này trả về một chuỗi đại diện cho tham số với các biến môi trường được mở rộng
Một số ứng dụng có thể phải sử dụng các biến đã được khởi tạo bên ngoài chương trình, nhưng thay vào đó, trong môi trường mà mã nguồn được cho là sẽ được thực thi
Các biến môi trường được chỉ định như một phần của môi trường trong đó các quy trình [chẳng hạn như ứng dụng Python] được thực thi. Nó bao gồm một cặp tên/giá trị và có thể được truy cập, ghi đè và bỏ đặt tại bất kỳ thời điểm nào. Các biến như vậy thường được định nghĩa trực tiếp trên giao diện dòng lệnh hoặc bằng các tập lệnh bash [e. g. khi khởi động hệ điều hành]. Tuy nhiên, ngay cả các chương trình phần mềm cũng có thể tự tương tác với chúng.
Trong hướng dẫn ngắn ngày hôm nay, chúng tôi sẽ trình bày cách lập trình truy cập ghi đè và hủy đặt các biến môi trường hiện có cũng như cách xuất các biến môi trường mới. Cuối cùng, chúng tôi cũng sẽ trình bày một số cách để kiểm tra xem một biến môi trường có tồn tại hay không.
Truy cập biến môi trường
Trước tiên, chúng tôi sẽ trình bày cách chúng tôi có thể truy cập theo chương trình các biến môi trường đã được xuất như một phần của môi trường mà ứng dụng Python của chúng tôi đang được thực thi
Giả sử rằng một quản trị viên hệ thống đã khởi tạo một biến môi trường có tên là
$ echo ENV
5 với giá trị
dev$ echo ENV
6
dev$ export ENV=dev
Chúng ta có thể xác minh rằng biến môi trường đã được khởi tạo bằng cách lặp lại giá trị thông qua dòng lệnh
$ echo ENV
devBây giờ nếu chúng ta muốn lập trình truy cập biến môi trường bằng Python, chúng ta cần sử dụng đối tượng ánh xạ
$ echo ENV
7
devMột đối tượng ánh xạ trong đó các khóa và giá trị là các chuỗi đại diện cho môi trường quy trình. Ví dụ:
$ echo ENV
8 là tên đường dẫn của thư mục chính của bạn [trên một số nền tảng] và tương đương với
dev$ echo ENV
9 trong C
devÁnh xạ này được ghi lại khi mô-đun
import osenv_var = os.environ['ENV']0 được nhập lần đầu tiên, thường là trong quá trình khởi động Python như một phần của quá trình xử lý
print[f'Currently working in {env_var} environment'.import osenv_var = os.environ['ENV']1. 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
print[f'Currently working in {env_var} environment'.import osenv_var = os.environ['ENV']2, ngoại trừ những thay đổi được thực hiện bằng cách sửa đổi trực tiếp
print[f'Currently working in {env_var} environment'.import osenv_var = os.environ['ENV']2
print[f'Currently working in {env_var} environment'.- Tài liệu Python
Bạn có thể sử dụng tên biến môi trường làm khóa cho đối tượng
import osenv_var = os.environ['ENV']2 để suy ra giá trị
print[f'Currently working in {env_var} environment'.import osenv_var = os.environ['ENV']
print[f'Currently working in {env_var} environment'.Vấn đề với biểu thức trên là nó sẽ thất bại với
import osenv_var = os.environ['ENV']5 trong trường hợp biến môi trường
print[f'Currently working in {env_var} environment'.$ echo ENV
5 không có trong môi trường. Do đó, cách tốt hơn là sử dụng
devimport osenv_var = os.environ['ENV']7 để truy cập nó. Nếu nó không tồn tại, nó sẽ chỉ trả về
print[f'Currently working in {env_var} environment'.import osenv_var = os.environ['ENV']8 thay vì ném một
print[f'Currently working in {env_var} environment'.import osenv_var = os.environ['ENV']5
print[f'Currently working in {env_var} environment'.$ echo ENV
8
devVề sau, bạn thậm chí có thể muốn đặt giá trị mặc định trong trường hợp biến môi trường chưa được khởi tạo
$ echo ENV
9
devRõ ràng, một giải pháp thay thế khác là bắt
import osenv_var = os.environ['ENV']5 nhưng tôi muốn nói rằng điều này có thể là quá mức cần thiết đối với loại hoạt động này
print[f'Currently working in {env_var} environment'.$ export ENV=dev
1Xuất hoặc ghi đè các biến môi trường
Nếu bạn muốn xuất hoặc thậm chí ghi đè lên một biến môi trường hiện có, thì bạn có thể sử dụng một phép gán đơn giản cho đối tượng
import osenv_var = os.environ['ENV']2
print[f'Currently working in {env_var} environment'.$ export ENV=dev
3Và bây giờ có thể hợp lý hơn khi sử dụng ký hiệu
$ echo ENV
82
dev$ export ENV=dev
5Kiểm tra xem có tồn tại biến môi trường không
Chúng tôi đã trình bày một phần phần này nhưng tôi cũng sẽ trình bày một số cách bổ sung để kiểm tra xem biến môi trường có tồn tại hay không
Phương pháp đầu tiên, đơn giản là truy cập đối tượng
import osenv_var = os.environ['ENV']2 bằng cách sử dụng tên của biến làm khóa và bắt
print[f'Currently working in {env_var} environment'.import osenv_var = os.environ['ENV']5 cho biết biến môi trường không tồn tại
print[f'Currently working in {env_var} environment'.$ export ENV=dev
8Một cách khác đơn giản là kiểm tra xem biến môi trường có phải là thành viên của đối tượng
import osenv_var = os.environ['ENV']2 hay không
print[f'Currently working in {env_var} environment'.$ echo ENV
0
devCách thứ ba là kiểm tra xem phương thức
import osenv_var = os.environ['ENV']7 có trả về
print[f'Currently working in {env_var} environment'.import osenv_var = os.environ['ENV']8 hay không [trong khi không có giá trị mặc định nào được chỉ định]
print[f'Currently working in {env_var} environment'.$ echo ENV
0
devCuối cùng, bạn thậm chí có thể sử dụng phương thức
$ echo ENV
88 để kiểm tra xem tên biến môi trường có được chứa dưới dạng khóa trong đối tượng ánh xạ
devimport osenv_var = os.environ['ENV']2 hay không
print[f'Currently working in {env_var} environment'.$ echo ENV
1
devGỡ cài đặt biến môi trường
Bây giờ để hủy đặt biến môi trường, bạn có thể gọi thao tác
$ echo ENV
90
dev$ echo ENV
2
devMột lần nữa, biểu thức trên sẽ thất bại trong trường hợp
$ echo ENV
5 chưa được khởi tạo và do đó nó bị thiếu trong đối tượng ánh xạ
devimport osenv_var = os.environ['ENV']2
print[f'Currently working in {env_var} environment'.Để tránh điều này, bạn có thể sử dụng câu lệnh if
$ echo ENV
3
devNgoài ra, một cách hay hơn sẽ là
$ echo ENV
93 biến môi trường từ đối tượng ánh xạ như minh họa bên dưới
dev$ echo ENV
4
devSuy nghĩ cuối cùng
Trong bài viết hôm nay, chúng ta đã thảo luận về tầm quan trọng của các biến môi trường và cách chúng có thể tương tác với các ứng dụng Python đang chạy. Cụ thể hơn, chúng tôi đã giới thiệu cách lập trình truy cập, bỏ đặt hoặc thậm chí xuất các biến môi trường bằng Python
Cũng cần lưu ý rằng các biến môi trường thường không chỉ được sử dụng bởi ứng dụng Python của riêng bạn và do đó, bạn đảm bảo tương tác với chúng theo cách không khiến môi trường ở trạng thái có thể phá vỡ các ứng dụng khác hoặc thậm chí
Trở thành thành viên và đọc mọi câu chuyện trên Medium. Phí thành viên của bạn hỗ trợ trực tiếp cho tôi và các nhà văn khác mà bạn đọc. Bạn cũng sẽ có toàn quyền truy cập vào mọi câu chuyện trên Phương tiện
Làm cách nào để thay đổi biến môi trường trong 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.Tôi có thể sử dụng các biến môi trường trong tệp JSON không?
Ghi chú. Theo mặc định, các tệp JSON được sử dụng để lưu trữ chi tiết nguồn dữ liệu và ánh xạ mục máy khách ngay cả khi biến môi trường không được đặt . Đặt đường dẫn thư mục để lưu trữ các tệp JSON bằng cách chạy lệnh sau. Ví dụ: chỉ định đường dẫn lưu trữ các tệp JSON của bạn.Làm cách nào để đọc các biến môi trường trong tệp YAML?
Bạn có thể thực hiện thông qua yaml. add_implicit_resolver và yaml. add_constructor . Trong đoạn mã bên dưới, bạn đang xác định một trình phân giải sẽ khớp với ${ biến env } trong giá trị YAML và gọi hàm path_constructor để tra cứu biến môi trường.Bạn có thể sử dụng các biến env trong YAML không?
Các biến môi trường có thể được sử dụng trong các loại tệp sau. Markdown và MDX . YAML, bao gồm các tệp cấu hình cổng thông tin .