我有一个非常简单的python脚本,它读入一个文件,并逐行解析。
似乎没有在我的行开头识别'//'。如果我改变它以在我的行的开头寻找'#',它也找不到那些行。我只是误解了这个吗?
line = fIn.readline()
while line:
print "line is", line
line = line.strip()
if line.startswith('//'):
print "winner"
line = fIn.readline()
我正在阅读的文件如下:
// Feedback
"Feedback" = "Feedback";
// New strings
"File URL not reachable." = "File URL not reachable.";
当打印输出时,调试行看起来合适:
line is // Feedback
line is "Feedback" = "Feedback";
line is
line is // New strings
line is "File URL not reachable." = "File URL not reachable.";
line is
答案 0 :(得分:1)
更好的版本:
with open("abc") as f:
for line in f:
line=line.strip()
if line and line.startswith("//"):
print "line is",line
print "winner"
print next(f)
....:
<强>输出:强>
line is // Feedback
winner
"Feedback" = "Feedback";
line is // New strings
winner
"File URL not reachable." = "File URL not reachable.";
答案 1 :(得分:0)
您只是阅读文本文件的一行。除了你在最后一行有错误的缩进,它似乎工作。确保在每次迭代时执行line = fIn.readline()
后运行程序(向左移动一个块)。
这是我修复一行后获得的,这是所需的输出吗?
line is // Feedback
winner
line is "Feedback" = "Feedback";
line is
line is // New strings
winner
line is "File URL not reachable." = "File URL not reachable.";
编辑:这对你有用吗?
for line in open("yourfile.txt").readlines():
print "line is", line
line = line.strip()
if line.startswith('//'):
print "winner"
答案 2 :(得分:0)
试试这个
for line in fIn:
print "line is", line
line = line.strip()
if line[0:2]=='//':
print "winner"
line = fIn.readline()