私はWindows7でPython2.7.2(64ビット)を実行しています。ここに記載されている「ユニバーサル改行モード」について少し混乱しています: http: //docs.python.org/library/functions.html#open
ドキュメントから、open()のmodeパラメータで「U」が指定されていない限り、「ユニバーサル改行モード」は有効になっていないようです。ただし、これがデフォルトの動作だと思います。それで、ドキュメントは本当に誤解を招くものですか、それとも私は何かを見逃していますか?
f = open("c:/Temp/test.txt", "wb")
f.write("One\r\nTwo\r\nThree\r\nFour"); f.close()
f = open("c:/Temp/test.txt", "rb")
f.read(); f.close()
'One\r\nTwo\r\nThree\r\nFour'
f = open("c:/Temp/test.txt", "r")
f.read(); f.close()
'One\nTwo\nThree\nFour'
f = open("c:/Temp/test.txt", "rt")
f.read(); f.close()
'One\nTwo\nThree\nFour'
f = open("c:/Temp/test.txt", "rU")
f.read(); f.close()
'One\nTwo\nThree\nFour'
「r」、「rt」、「rU」はすべて同じ動作をしているようですか?