我有一个小问题。我在Python中有这段代码(取自更大的脚本):
for line in open(trainFile):
for token,tag in [x.rsplit('/',1) for x in line.split()]:
tokenTagCount[(token,tag)] += 1
tags[tag] += 1
listOfTags.append(tag)
trainFile包含丹麦语的单词和标签,但这不是问题。问题是:因为文件是丹麦语,我必须在第一行包含# -*- coding: cp1252 -*-
以正确显示Python中的字符。但是,我的for循环(“for open in open ...”)应忽略关于编码的第一行,并开始在trainFile的第二行开始运行,其中实际数据开始。我该怎么做?
谢谢!
答案 0 :(得分:6)
这是你可以跳过第一行的方法:
with open(trainFile) as f:
next(f) # discard the first line
for line in f:
# deal with the rest.
更好的选择可能是跳过以#
开头的行:
with open(trainFile) as f:
for line in f:
if line.startswith('#'):
continue
# deal with the rest.
答案 1 :(得分:3)
f=open(trainFile)
f.readline()
for line in f.readlines():
........
答案 2 :(得分:1)
您可以在从文件中读取行时枚举行。例如:
for i, line in enumerate(open(trainFile)):
if i != 0:
# do stuff