Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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_Windows - Fatal编程技术网

如何在Python中向文件的输出中插入制表符?

如何在Python中向文件的输出中插入制表符?,python,windows,Python,Windows,如何在Python中向文件的输出中插入选项卡 比如说, print >>outPutFile , c.lstrip()+"\t"+d.rstrip('\n')+"\t"+a+"\t"+b 输出: cfn79e739_1.lp 260175 79 739 cfn100e1217_1.lp 288734 100 1217 cfn79e739_1.lp 260175 79 739 cfn100e1217_1.l

如何在Python中向文件的输出中插入选项卡

比如说,

  print >>outPutFile , c.lstrip()+"\t"+d.rstrip('\n')+"\t"+a+"\t"+b
输出:

  cfn79e739_1.lp  260175  79      739

  cfn100e1217_1.lp        288734  100     1217
cfn79e739_1.lp     260175  79    739    
cfn100e1217_1.lp   285768  100   1217   
cfn200e11660_1.lp  288734  200   11660  
cfn1500e145_1.lp   218435  1500  145    
第二行在288734之后没有制表符。为什么?

第一行在cfn79e739_1.lp和260175之后没有制表符。为什么?


我需要使每一列在同一条直线上

是的。但标签不是这样工作的。它们将光标移动到下一列,该列是8的倍数。如果您想要完全的表格对齐,那么您应该使用字符串插值或具有已知大小的格式

>>> print '%-20s %-4d' % ('foo', 42)
foo                  42  
>>> print '%-20s %-4d' % ('bar', 13)
bar                  13  

是的。但标签不是这样工作的。它们将光标移动到下一列,该列是8的倍数。如果您想要完全的表格对齐,那么您应该使用字符串插值或具有已知大小的格式

>>> print '%-20s %-4d' % ('foo', 42)
foo                  42  
>>> print '%-20s %-4d' % ('bar', 13)
bar                  13  

计算出每列的最大宽度,然后相应地填充每个值:

lines = [
    ['cfn79e739_1.lp', '260175', '79', '739'],
    ['cfn100e1217_1.lp', '285768', '100', '1217'],
    ['cfn200e11660_1.lp', '288734', '200', '11660'],
    ['cfn1500e145_1.lp', '218435', '1500', '145'],
    ]

def print_columns(lines, spacing=2):
    widths = [max(len(value) for value in column) + spacing
              for column in zip(*lines)]
    for line in lines:
        print(''.join('%-*s' % item for item in zip(widths, line)))

print_columns(lines)
输出:

  cfn79e739_1.lp  260175  79      739

  cfn100e1217_1.lp        288734  100     1217
cfn79e739_1.lp     260175  79    739    
cfn100e1217_1.lp   285768  100   1217   
cfn200e11660_1.lp  288734  200   11660  
cfn1500e145_1.lp   218435  1500  145    

计算出每列的最大宽度,然后相应地填充每个值:

lines = [
    ['cfn79e739_1.lp', '260175', '79', '739'],
    ['cfn100e1217_1.lp', '285768', '100', '1217'],
    ['cfn200e11660_1.lp', '288734', '200', '11660'],
    ['cfn1500e145_1.lp', '218435', '1500', '145'],
    ]

def print_columns(lines, spacing=2):
    widths = [max(len(value) for value in column) + spacing
              for column in zip(*lines)]
    for line in lines:
        print(''.join('%-*s' % item for item in zip(widths, line)))

print_columns(lines)
输出:

  cfn79e739_1.lp  260175  79      739

  cfn100e1217_1.lp        288734  100     1217
cfn79e739_1.lp     260175  79    739    
cfn100e1217_1.lp   285768  100   1217   
cfn200e11660_1.lp  288734  200   11660  
cfn1500e145_1.lp   218435  1500  145    

输出中有一个选项卡,所有内容都与第8列对齐。不相关的注意事项:1添加所有这些选项卡的Python方法是“\t”。加入[c.lstrip,d.rstrip…,…]。2您的d.rstrip'\n'可能会被简化,并变得比d.rstrip更强大,它也会去除空白。您的输出中有一个选项卡,所有内容都与第8列对齐。不相关的注释:1添加所有这些选项卡的Python方法是'\t'。加入[c.lstrip,d.rstrip…,…]。2您的d.rstrip'\n'可能会被简化,并变得比d.rstrip更强大,d.rstrip也会去除空白。没有下一票,但制表符并不总是以8的倍数将光标移动到下一栏。例如,您可以要求较少的寻呼机将制表符放在任意倍数;这句话至少应该是限定的。没有下一票,但制表符并不总是以8的倍数将光标移动到下一栏。例如,你可以要求少页导航将制表符放置在任意倍数;这句话至少应该是有条件的。事实上,表格并不能解决原来的问题。事实上,表格并不能解决原来的问题。