我正在尝试根据字典信息将作业写入文本文件。字典信息是从服务器接收的,并不总是相同的。它包含file_count
和file_paths
,file_paths
是一个列表。例如,
{'file_paths': ['/file/path/one', '/file/path/two'], 'file_count': 2}
我有一个基线来写出一个文本块,其中包含将根据字典信息插入的变量。 例如,
text_baseline = ('This is the %s filen'
'and the file path isn'
'path: %sn')
需要根据从字典接收并写入文本文件的文件数复制此基线。
因此,例如,如果字典有三个文件,它将有三个文本块,每个文本块都有文件编号和路径的更新信息。
我知道我必须做这样的事情:
f = open("myfile.txt", "w")
for i in dict.get("file_count"):
f.write(text_baseline) # this needs to write in the paths and the file numbers
我很难弄清楚如何根据使用基线收到的信息更新路径和文件编号。
使用 str.format(( 来格式化字符串。
data = {'file_paths': ['/file/path/one', '/file/path/two'], 'file_count': 2}
text_baseline = "this is the {}th file and the path is {}"
with open('path','w') as f:
for i in range(int(dict.get('file_count'))):
f.write(text_baseline.format(i,data['file_paths']))
可以在此处使用枚举和字符串格式:
paths = {'file_paths': ['/file/path/one', '/file/path/two'], 'file_count': 2}
text_baseline = ('''This is the {num} file
and the file path is
path: {path}
''')
with open('myfile.txt','w') as f:
for i, path in enumerate(paths['file_paths'], 1):
f.write(text_baseline.format(num=i, path=path))