【问题标题】:Get Python to output a .py file from a dictionary?让 Python 从字典中输出 .py 文件?
【发布时间】:2014-06-27 09:30:13
【问题描述】:

如何让 Python 输出并保存从字典生成的 .py 文件?

例如我想动态生成这个文件:

file.py:

import time

PROJECT_NAME = "YOUR_PROJECT_NAME"
USER = "TEST USER"

来自以下字典:

{'PROJECT_NAME': 'YOUR_PROJECT_NAME', 'USER': 'TEST'}

这是我尝试过的:

 with open('file.py', 'wb') as handle:
            pickle.dump(values, handle)

但这给了:

(dp0
S'PROJECT_NAME'
p1
S'USER'
p2

【问题讨论】:

  • 一个明显的方法是编写自己的解析器,不应该花太长时间。问题是——你需要用泡菜吗?
  • @Andrew Jaffe 我将在其中一种设置中使用时间,即 RELEASE = time.strftime('%Y%m%d%H%M%S')
  • 所以你的意思是循环每个项目并像这样输出? @Aleksander Lidtke
  • 是的,类似:for k, i in yourDict.iteritems(): fileHandle.write( "{} = {}".format(k, i) )
  • @AleksanderLidtke 似乎可行,但什么是 {} = {}

标签: python pickle


【解决方案1】:

试试这个

with open('file.py', 'wb') as handle:
    handle.write("{")
    for k,v in your_dict.iteritems():
        handle.write("'%s' : '%s'," % (k,v))
    handle.write("}\n")    

【讨论】:

  • 奇怪的是,这不是问题实际要求产生的内容(尽管被接受......)!
猜你喜欢
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 2014-07-28
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多