Thông tin môi trường chạy

Báo cáo vấn đề Xem nguồn Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Một trình cung cấp có thể được trả về từ các quy tắc có thể thực thi để kiểm soát môi trường mà trình thực thi của chúng được thực thi.

Hội viên

môi trường

dict RunEnvironmentInfo.environment

Một bản đồ gồm các khoá và giá trị chuỗi đại diện cho các biến môi trường và giá trị của chúng. Các mục tiêu này sẽ có sẵn khi mục tiêu trả về trình cung cấp này được thực thi, dưới dạng thử nghiệm hoặc thông qua lệnh chạy.

inherited_environment

List RunEnvironmentInfo.inherited_environment

Một chuỗi tên của các biến môi trường. Các biến này được cung cấp với giá trị hiện tại lấy từ môi trường shell khi mục tiêu trả về trình cung cấp này được thực thi, dưới dạng kiểm thử hoặc thông qua lệnh chạy. Nếu một biến có trong cả environmentinherited_environment, thì giá trị kế thừa từ môi trường shell sẽ được ưu tiên nếu được đặt.

to_json

string RunEnvironmentInfo.to_json()

Không dùng nữa. API này không được dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào thông tin này. Tính năng này đã tắt bằng ---incompatible_struct_has_no_methods. Hãy dùng cờ này để xác minh rằng mã của bạn tương thích với việc xoá sắp tới.
Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, giá trị boolean, các cấu trúc khác, danh sách các loại này hoặc từ điển có khoá chuỗi và giá trị của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Ví dụ:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

Không dùng nữa: thay vào đó, hãy sử dụng json.encode(x) hoặc json.encode_indent(x). Các hàm này hoạt động cho các giá trị khác ngoài cấu trúc và không làm ảnh hưởng đến không gian tên trường cấu trúc.

to_proto

string RunEnvironmentInfo.to_proto()

Không dùng nữa. API này không được dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào thông tin này. Tính năng này đã tắt bằng ---incompatible_struct_has_no_methods. Hãy dùng cờ này để xác minh rằng mã của bạn tương thích với việc xoá sắp tới.
Tạo một tin nhắn văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, giá trị boolean, các cấu trúc hoặc từ điển khác hoặc danh sách các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Các khoá cấu trúc được lặp lại theo thứ tự đã sắp xếp. Ví dụ:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Không dùng nữa: thay vào đó, hãy sử dụng proto.encode_text(x).