如果有任何帮助,我将不胜感激。我有一个字典,看起来像这样:
TEST_versions = {' D14 2015' :' X1',' D12 2014' :' X2'}
我希望字典中的密钥放在我的文本中(我附加到文件中)所以我写了:
for v in TEST_versions.keys():
#print(v)
add_code = open('make_all_ascii_files.txt','a')
add_code.write("""
SELECT IF (Version_selector = v).""")
v没有取得密钥的值,而是将字母v附加到文件中。如何编写代码,以便v取值' D14 2015'例如。
答案 0 :(得分:0)
你需要format带变量的字符串:
for v in TEST_versions.keys():
#print(v)
add_code = open('make_all_ascii_files.txt','a')
add_code.write("""
SELECT IF (Version_selector = {}).""".format(v))
如果您要格式化多个变量,则可以将它们编入索引:
for v in TEST_versions:
#print(v)
add_code = open('make_all_ascii_files.txt','a')
add_code.write("""
SELECT IF (Version_selector = {0}; value={1}).""".format(v, TEST_versions[v]))
请注意,在您的示例中不需要调用.keys()
,因为默认情况下python会迭代字典的键。
答案 1 :(得分:0)
v 未在字符串本身内替换。 您可以执行以下操作,例如(使用命名占位符)
for k in TEST_versions.keys():
add_code = open('make_all_ascii_files.txt','a')
add_code.write(
"SELECT IF (Version_selector = %(value)s)."
% { 'value': TEST_versions[k] }
)
或
for k in TEST_versions.keys():
add_code = open('make_all_ascii_files.txt','a')
add_code.write("""SELECT IF (Version_selector = %s).""" % TEST_versions[k] )
或
for k, v in TEST_versions.items():
add_code = open('make_all_ascii_files.txt','a')
add_code.write("SELECT IF (Version_selector = %s)." % v)
或其他一些字符串格式选项。 Python为这个
提供了很多选择我想您想查看https://docs.python.org/2/library/string.html#format-string-syntax了解详情。