PythonのnoobはWindowsで2.7を使用しています。私はプログラム的にHTMLで階層ツリービューを作ることに取り組んでいます。私はこれに似て出力されたファイルを持っている:私は遭遇してる問題があるということPython:前の行を読み込んで現在の行と比較します
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()
:
0
2
4
6
8
8
0
2
4
4
4
6
8
8
6
6
マイコード:
0
2
4
6
8
8
0
2
4
4
6
8
8
6
6
out.txt
を次のようになります私がprev_line
とcurrent_line
を比較しようとするたびに、私は希望の出力を得られません。私はif prev_line == "0": print "Root"
のような何かをすることができますが、それはそのような場合だけで動作しません。また、次の電流が行われる前に部分が計算されているようです。現在のコードから得られる結果には、次のものが含まれます:
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
@serk新しい質問であるはずです。 – Jordan