Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于变量的文件格式缩进_Python_File_If Statement_Formatting - Fatal编程技术网

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

Python 基于变量的文件格式缩进,python,file,if-statement,formatting,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新手,我正在寻找一种简单的方法来实现这

我有一个元组列表,如下所示:

[(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])

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

Python比你想象的更棒:

file.write('\t' * tup[0])
file.write(tup[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])