質問: '__main__': main() ``` ### 試したこと WindowsのWSL(Ubuntu)で上記コードを実行し、出力されたファイルの改行はwindows側でみても、WSL上でcatでみても正常な改行のファイルが出力されます。 ### 利用環境 windows 10 python 3.6.3 csr1000v IOS XE 03.11.04.S
回答: 質問者様に確認中の部分はありますが、概ねこれが回答だろうという目星はつけましたので、回答します。 `with open("test" + '.txt', mode='w') as wf:` を `with open("test" + '.txt', mode='w', newline='\n') as wf:` に書き換えてみてください。 Windowsは(文字コードに加え)改行コードの扱いが異なるため、テキストファイルの読み書きには非互換が発生します。上記コードの変更により、改行コードの扱いをLinux系とあわせることが可能です。 参考: Windows上で実行したPythonの出力ファイルの改行コードが変わる ただし、この改行コードの扱いはWindowsネイティブのものですので、メモ帳等のツールで出力ファイルを参照した場合に、改行が二重に見えてしまう、というのは不思議です。質問者様に確認の方法をお聞きしているのは、そのためです。 (Windows仕様で出力したテキストファイルを、macのメモ帳的アプリで見ると、改行が二重に見えます。一方、macのターミナルでcatで見ると、二重には見えません。各ツールがWindows仕様の改行に対応しているかどうかで、見え方が異なります。)