当我尝试打印列表时,它打印出目录而不是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]
答案 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)