蟒蛇。试图打印列表,但它唯一的打印目录结构

时间:2017-05-08 16:20:19

标签: python list printing split enumerate

当我尝试打印列表时,它打印出目录而不是win.txt的内容。我试图将txt枚举到一个列表中然后拆分然后将其附加到a,然后在得到打印后再执行其他操作。我做错了什么?

import os

win_path = os.path.join(home_dir, 'win.txt')

def roundedStr(num):
   return str(int(round(num)))
a=[] # i declares outside the loop for recover later
for i,line in enumerate(win_path):
# files are iterable
   if i==0:
      t=line.split('  ') 
   else:
      t=line.split('  ')
      t[1:6]= map(int,t[1:6])

a.append(t) ## a have all the data
a.pop(0)
print a

打印出目录,例如c:\workspace\win.txt 不是我想要的 我想要它打印win.txt的内容 以t [1:6]为整数,如 11 21 31 41 59 21 并以同样的方式打印出来。

win.txt包含此

05/06/2017 11 21 31 41 59 21 3
05/03/2017 17 18 49 59 66 9 2
04/29/2017 22 23 24 45 62 5 2
04/26/2017 01 15 18 26 51 26 4
04/22/2017 21 39 41 48 63 6 3
04/19/2017 01 19 37 40 52 15 3
04/15/2017 05 22 26 45 61 13 3
04/12/2017 08 14 61 63 68 24 2
04/08/2017 23 36 51 53 60 15 2
04/05/2017 08 20 46 53 54 13 2

我只想要[1] - [6]

1 个答案:

答案 0 :(得分:0)

我认为你想要的是打开文件' win.txt',并阅读其内容。使用open函数创建文件对象,并使用with块来限定它。请参阅下面的示例。这将读取文件,并获取每行的前6个数字。

import os

win_path = os.path.join(home_dir, 'win.txt')
a=[] # i declares outside the loop for recover later
with open(win_path, 'r') as file:
    for i,line in enumerate(file):
        line = line.strip()
        print(line)
        if i==0:
           t=line.split(' ') 
        else:
           t=line.split(' ')
           t[1:7]= map(int,t[1:7])
           t = t[1:7]
        a.append(t) ## a have all the data
a.pop(0)
print (a)