2012-09-03 37 views
11

Tệp của tôi đọc đầu vào của người dùng (như userid, mật khẩu ..). Và đặt dữ liệu thành tệp x.yml.Python YAML: Kiểm soát định dạng đầu ra

Nội dung của tập tin x.yml là

{user: id} 

Nhưng thay vào đó tôi muốn các nội dung được như

user: id 

Làm thế nào tôi có thể đạt được điều này?

+0

Chào mừng bạn đến với Stack Overflow! Tôi xin lỗi, nhưng tôi thấy rất khó để tìm ra những gì bạn đang yêu cầu ở đây. Sẽ hữu ích nếu bạn đưa vào một số mã để hiển thị những gì bạn đã thử, nó sẽ giúp chúng tôi giúp bạn dễ dàng hơn nhiều. Có lẽ bạn cũng có thể xem http://whathaveyoutried.com để có một bài viết tuyệt vời về cách đặt câu hỏi hay? –

+3

Ngoài ra, bạn đã thử sử dụng [python YAML library] (http://pyyaml.org/) để giúp bạn viết ra YAML hợp lệ chưa? –

+0

nhập yaml người dùng = raw_input ("Nhập id người dùng:") pwd = raw_input ("Nhập mật khẩu:") luồng = mở (tệp1, "w") yaml.dump ({user: pwd}, stream) Đây có phải là cách thích hợp để chèn dữ liệu vào tệp yml không? Chạy tệp này lần thứ hai là thêm một dict khác vào tệp yml. Bạn có thể giúp đỡ về vấn đề này không. – user1643521

Trả lời

24

Như đã đề cập trong các chú thích, thư viện YAML python là công cụ thích hợp cho công việc. Để có được kết quả bạn muốn, bạn cần phải vượt qua đối số từ khóa default_flow_style=False để yaml.dump:

>>> x = { "user" : 123 } 
>>> output_stream = open("output_file.yml","w") 
>>> yaml.dump(x,output_stream,default_flow_style=False) 
>>> output_stream.close() 

Các tập tin "output_file.yml" sẽ bao gồm:

user : 123 

Thông tin thêm về cách tùy chỉnh yaml.dump là có sẵn tại http://pyyaml.org/wiki/PyYAMLDocumentation.

Các vấn đề liên quan