2012-09-03 36 views
11

我的文件读取用户输入(如用户标识,密码..)。并将数据设置为x.yml文件。Python YAML:控制输出格式

x.yml文件的内容是

{user: id} 

而是我想要的内容是作为

user: id 

我怎样才能做到这一点?

+0

欢迎来到Stack Overflow!我很抱歉,但我很难弄清楚你在这里问的问题。如果您包含一些代码以显示您尝试过的内容,它会有所帮助,这会让我们更容易帮助您。也许你也可以看一下http://whathaveyoutried.com关于如何提出好问题的伟大文章? –

+3

另外,你有没有尝试过使用[python YAML库](http://pyyaml.org/)来帮助你写出有效的YAML? –

+0

进口YAML 用户的raw_input =( “输入用户ID: ”) PWD的raw_input =(“ 输入密码 ”) 流=开放(文件1,“ W”) yaml.dump({用户:PWD},流) 这是将数据插入到yml文件的正确方法吗? 第二次运行此文件是将另一个字典添加到yml文件。 你可以在这方面帮助。 – user1643521

回答

24

正如在评论中提到的那样,python YAML库是该工作的正确工具。为了得到你想要的输出,你需要通过关键字参数default_flow_style=Falseyaml.dump

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

文件“output_file.yml”将包含:

user : 123 

更多信息如何自定义yaml.dump是可在http://pyyaml.org/wiki/PyYAMLDocumentation