Tôi đang sử dụng YAML cho máy tính và định dạng đầu vào có thể chỉnh sửa và có thể đọc được cho trình giả lập. Đối với khả năng đọc của con người, một số phần của đầu vào chủ yếu là tuân theo phong cách chặn, trong khi phong cách dòng chảy phù hợp với những người khác tốt hơn.Chỉ định kiểu cho các phần của vùng đổ PyYAML
Giá trị mặc định cho PyYAML là sử dụng kiểu khối bất cứ nơi nào có bản đồ hoặc chuỗi lồng nhau và kiểu luồng ở mọi nơi khác. * default_flow_style * cho phép người dùng chọn tất cả kiểu luồng hoặc tất cả kiểu khối.
Nhưng tôi muốn tập tin đầu ra nhiều hình thức
bonds:
- { strength: 2.0 }
- ...
tiles:
- { color: red, edges: [1, 0, 0, 1], stoic: 0.1}
- ...
args:
block: 2
Gse: 9.4
Như có thể thấy, điều này không làm theo một mô hình phù hợp cho phong cách xuyên suốt, và thay vào đó thay đổi tùy thuộc vào một phần của tập tin . Về cơ bản, tôi muốn có thể chỉ định rằng tất cả các giá trị trong một số chuỗi kiểu khối được trong phong cách dòng chảy. Có cách nào để có được loại kiểm soát mức độ tốt đó đối với việc bán phá giá không? Có thể đổ bản đồ cấp cao nhất theo một thứ tự cụ thể trong khi không yêu cầu thứ tự đó (ví dụ, omap) sẽ tốt đẹp để dễ đọc.
Nhận xét của bạn vẫn cập nhật về 'dumper.represent_sequence' và' dumper.represent_dict' không có tùy chọn flow_style? xem http://pyyaml.org/wiki/PyYAMLDocumentation#Dumper – Hotschke
Thực ra tôi cố gắng áp dụng 'flowmap' của bạn trên một chuỗi:' - edge: \ n - [1,2] \ n - [2, 1, [1 , 0]] '. Tôi muốn có mọi cạnh trên một dòng riêng biệt (được biểu thị bằng '\ n'). Hiện tại, nó trông giống như sau: '- cạnh: \ n - [1,2] \ n - 1 \ n - 2 \ n - [1, 0]' – Hotschke
Vâng, nhận xét của tôi vẫn hợp lệ; 'represent_mapping' có nó, nhưng hai cái kia thì không; chúng có lẽ chỉ là trình bao bọc cho 'represent_mapping'. Đối với những gì bạn đang làm, flowmap không phải là những gì bạn muốn. Bạn một chuỗi (theo các cạnh :) mà bạn muốn có flow_style = True, không phải là ánh xạ. – cge