Python 使用字符串插值在for循环下的多行字符串中追加元素
我有一个多行字符串,它将是需要生成的python文件:Python 使用字符串插值在for循环下的多行字符串中追加元素,python,string,list,file,string-interpolation,Python,String,List,File,String Interpolation,我有一个多行字符串,它将是需要生成的python文件: for data in some_list: my_multline = """ from my_module import something from my_module2 import something2 my_list = [ %s ] """ % (data) file.write(my_multiline) 我不能在my_list字符
for data in some_list:
my_multline = """
from my_module import something
from my_module2 import something2
my_list = [ %s ]
""" % (data)
file.write(my_multiline)
我不能在my_list字符串插值中直接表示我的列表,因为“some_list”中的数据只有在我添加迭代流或其他时才能工作。整个列表将表示为一个普通字符串
预期产出:
从我的_模块导入一些东西
从我的_模块2导入一些东西2
my_list = [ non_string_iterated_data1,
non_string_iterated_data2,
non_string_iterated_data3
]
我现在得到的是:
from my_module import something
from my_module2 import something2
my_list = [ non_string_iterated_data3 ] # appending only the last element
如果我参考整个列表,那么得到的输出是:
from my_module import something
from my_module2 import something2
my_list = [ "string_data_1", "string_data_2", "string_data_3" ]
使用
.format
my_list = [ 10,11,12]
my_multline = """
from my_module import something
from my_module2 import something2
my_list = {}
""".format(my_list)
问题是什么?请用一个例子解释一下,预期输出etc@sau我通过添加预期输出进行了编辑,并且得到了预期输出。