私はPythonでいくつかの奇妙なファイルの動作をデバッグするのに役立つ必要があります。次のスクリプト(write_con.py
)を取る:Windowsのファイル 'con.txt'の名前を付けると、Pythonがファイルではなくコンソールに書き込まれるのはなぜですか?
f=open('con.txt','w')
f.write('hi')
が、これは内容hi
でcon.txt
というファイルを作成します。 Windowsでは、これはコンソールにhi
を書き込み、ファイルを作成しません。私はこれをPython 2.5.1,2.6.3,2.6.5、および2.7.2で試しました。例を実行します。
C:\Users\rpsharp> C:\Python27\python.exe .\write_con.py
hiC:\Users\rpsharp> C:\Python25\python.exe .\write_con.py
hiC:\Users\rpsharp>
しかしcon
で始まる何か以外のものという名前のファイルには、(write_other_con.py
)正常に動作します:
f=open('other_con.txt','w')
f.write('hi')
ここで実行します:
C:\Users\rpsharp> C:\Python25\python.exe .\write_other_con.py
C:\Users\rpsharp> type .\other_con.txt
hi
その上で何が起こっています名前付きファイルの接頭辞がcon
の場合、Windows版のPythonがコンソールに書き込まれますか?