Tôi đã thử điều này:Làm thế nào để đọc giá trị biến môi trường cửa sổ trong python?
os.environ['MyVar']
Nhưng nó không hoạt động! Có cách nào phù hợp với mọi hệ điều hành không?
Tôi đã thử điều này:Làm thế nào để đọc giá trị biến môi trường cửa sổ trong python?
os.environ['MyVar']
Nhưng nó không hoạt động! Có cách nào phù hợp với mọi hệ điều hành không?
Hãy thử sử dụng như sau:
os.getenv('MyVar')
Từ documentation:
os.getenv(varname[, value])
Return the value of the environment variable varname if it exists, or value if it doesn’t. value defaults to None.
Availability: most flavors of Unix, Windows
Vì vậy, sau khi thử nghiệm nó:
>>> import os
>>> os.environ['MyVar'] = 'Hello World!' # set the environment variable 'MyVar' to contain 'Hello World!'
>>> print os.getenv('MyVar')
Hello World!
>>> print os.getenv('not_existing_variable')
None
>>> print os.getenv('not_existing_variable', 'that variable does not exist')
that variable does not exist
>>> print os.environ['MyVar']
Hello World!
>>> print os.environ['not_existing_variable']
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.4/UserDict.py", line 17, in __getitem__
def __getitem__(self, key): return self.data[key]
KeyError: 'not_existing_variable
phương pháp của bạn sẽ làm việc quá nếu biến môi trường tồn tại. Sự khác biệt khi sử dụng os.getenv
là nó trả về None
(hoặc giá trị đã cho), trong khi os.environ['MyValue']
cho ngoại lệ KeyError khi biến không tồn tại.
os.getenv('PATH')
Bạn có thể kiểm tra bằng dòng mã bên trên. Nó sẽ liệt kê tất cả các đường dẫn được thiết lập.
Bạn có thể phải khởi động lại các cửa sổ để có thể đọc biến môi trường mà bạn đã đặt qua bảng điều khiển.
Hoặc chỉ cần khởi động lại bảng điều khiển. –
Tôi nhận được lỗi này: KeyError: 'MyVar' –
Bạn có chắc chắn rằng bạn đã xác định biến đúng cách không? – Alexander
Làm thế nào để xác định nó? Tôi đã thêm nó trong Control Panel-> System and Security -> System -> Advamced system settings-> Biến môi trường –