在Windows上使用2.7的Python noob。我正在以編程方式在HTML中創建層級樹視圖。我有一個輸出類似於這樣一個文件:Python:讀取上一行並與當前行進行比較
0
2
4
6
8
8
0
2
4
4
6
8
8
6
6
out.txt
看起來是這樣的:
0
2
4
6
8
8
0
2
4
4
4
6
8
8
6
6
我的代碼:
x = open('out.txt','r')
for current_line in x:
prev_line = current_line[:-1]
print "Current: " + current_line
print "Previous: " + prev_line
if prev_line > current_line:
print "Folder"
elif prev_line == current_line:
print "Root"
x.close()
我現在遇到的問題是,每次我嘗試將prev_line
與current_line
比較時,我都沒有得到所需的輸出。我可以做類似if prev_line == "0": print "Root"
的事情,但那不會起作用,因爲它僅適用於這種情況。此外,似乎在下一個電流完成之前正在計算if
部分。我從當前代碼得到的結果包括:
Current: 0
Previous: 0
Current: 2
Previous: 2
Current: 4
Previous: 4
Current: 6
Previous: 6
Current: 8
Previous: 8
Current: 8
Previous: 8
Current: 0
Previous: 0
Current: 2
Previous: 2
Current: 4
Previous: 4
Current: 4
Previous: 4
Current: 4
Previous: 4
Current: 6
Previous: 6
Current: 8
Previous: 8
Current: 8
Previous: 8
Current: 6
Previous: 6
Current: 6
Previous:
我在做什麼錯,我該如何解決這個問題?我不知道這是一個字符串還是int比較,但如果是這樣的話,我會感覺到愚蠢。我試過了,但是在檢查最後一個「Previous:」時會引發錯誤。
有什麼辦法可以得到下一行?例如,我想查看下一封信的內容。我將如何實現這一點? – serk 2012-01-05 00:46:06
@serk應該是一個新問題。 – Jordan 2012-01-06 03:22:58