根据收到的字典信息动态写入文本文件

时间:2018-10-04 00:50:08

标签: python python-3.x dictionary file-writing

我正在尝试根据字典信息将作业写入文本文件。词典信息是从服务器接收的,并不总是相同的。它包含file_countfile_paths,其中file_paths是一个列表。例如,

{'file_paths': ['/file/path/one', '/file/path/two'], 'file_count': 2} 

我有一个基准来写出一段文本,其中包含将根据字典信息插入的变量。例如,

text_baseline = ('This is the %s file\n'
                'and the file path is\n'
                'path: %s\n')

根据从词典接收并写入文本文件的文件数,需要重复该基准。

因此,例如,如果词典中有三个文件,则它将具有三个文本块,每个文本块都具有文件号和路径的更新信息。

我知道我必须做这样的事情:

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

我很难确定如何根据使用基线收到的信息来更新路径和文件号。

2 个答案:

答案 0 :(得分:2)

使用str.format()格式化字符串。

global.a = 5

答案 1 :(得分:1)

可以在此处使用枚举和字符串格式:

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))