基于文件格式 - 变量的缩进

时间:2013-06-28 17:54:17

标签: python file if-statement formatting

我有一个像这样的元组列表:

[(1, u'Category'), (2, u'Item'), (3, u'SubItem'), (4, u'N/A'), (1, u'Features'), (2, u'Tool Baseline')]

我想根据每个元组的第一个元素使用缩进写入文件:

Category
    Item
         SubItem
            N/A
Features
    Tool Baseline

我是Python的新手,我正在寻找一种简单的方法来做到这一点:

if tup[0] == 1
    file.write('\t')
    file.write(tup[1])

(这些元组曾经是多层树的一部分,每个数字代表一个分支。)

2 个答案:

答案 0 :(得分:1)

Python比你想象的更棒:

file.write('\t' * tup[0])
file.write(tup[1])

答案 1 :(得分:1)

你可以乘以字符串!在以下pair[0]*'\t'中,我们会为您提供pair[0]标签字符。

>>> x = [(1, u'Category'), (2, u'Item'), (3, u'SubItem'), (4, u'N/A'), (1, u'Features'), (2, u'Tool Baseline')]
>>> for pair in x:
...   print pair[0]*'\t' + pair[1]
...
    Category
            Item
                    SubItem
                            N/A
    Features
            Tool Baseline
>>>

只需用文件I / O操作替换打印。

file.write('\t'*tup[0])
file.write(tup[1])