繁体   English   中英

将 python 字典项写入单独的 txt 文件

[英]Writing python dictionary items into separate txt files

我有看起来像这样的字典(每次都生成):

{'Module1': [], 'Module2':['C:\\folder1\\folder2\\Module2\\Module2.1.c', 'C:\\folder1\\folder2\\Module2\\Module2.2.c', 'C:\\folder1\\folder2\\Module2\\Module2.3.c',  'Module3': ['C:\\folder1\\folder2\\Module3\\Module3.1.c', 'C:\\folder1\\folder2\\Module3\\Module3.2.c'], 'Module4': ['C:\\folder1\\folder2\\Module4\\Module4.1.c', 'C:\\folder1\\folder2\\Module4\\Module4.2.c', etc

所以它包含模块的名称和它的路径。c 里面的文件。

为每个仅包含这些路径的单独 txt 文件制作单独的 txt 文件的最佳方法是什么?

因此,举个例子,我应该有: Module1.txt 将为空,然后 Module2.txt 将包含:

'C:\folder1\folder2\Module2\Module2.1.c'
'C:\folder1\folder2\Module2\Module2.2.c'
'C:\folder1\folder2\Module2\Module2.3.c'
#!/usr/bin/python
# -*- coding: utf-8 -*-

data = {
    'Module1': [],
    'Module2': ['C:\\folder1\\folder2\\Module2\\Module2.1.c',
        'C:\\folder1\\folder2\\Module2\\Module2.2.c',
        'C:\\folder1\\folder2\\Module2\\Module2.3.c'],
    'Module3': ['C:\\folder1\\folder2\\Module3\\Module3.1.c',
        'C:\\folder1\\folder2\\Module3\\Module3.2.c'],
    'Module4': ['C:\\folder1\\folder2\\Module4\\Module4.1.c',
        'C:\\folder1\\folder2\\Module4\\Module4.2.c']
}

def handleModule(filename, data):
    data = ["'%s'" % item for item in data]
    with open(filename, 'w') as f:
        f.write(' '.join(data))

for filename, module in data.items():
    handleModule(filename, module)

在主循环中,我们将遍历字典的所有键和值。 对于每个键/值对(文件名/模块),都会调用 handleModule。

在 handleModule function: ["'%s'" % item for item in data]的开头有一个列表理解。 它为每个列表项添加引号。

我们打开 file: with open(filename, 'w') as f: 它与f = open(filename, 'w')做同样的事情,但保证文件在块结束后关闭。

' '.join(data)将列表中的所有项目连接成一个字符串,使用空格字符作为分隔符。 我们将这个字符串写入文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM