Necesito ayuda para depurar algún comportamiento de archivo extraño en Python. Tome la siguiente secuencia de comandos (write_con.py
):¿Por qué nombrar un archivo 'con.txt' en Windows hace que Python escriba en la consola, no en el archivo?
f=open('con.txt','w')
f.write('hi')
En Linux, esto crea un archivo llamado con.txt
con el contenido hi
. En Windows, esto escribe hi
en la consola y no crea un archivo. He intentado esto con Python 2.5.1, 2.6.3, 2.6.5 y 2.7.2. Ejemplo de ejecución:
C:\Users\rpsharp> C:\Python27\python.exe .\write_con.py
hiC:\Users\rpsharp> C:\Python25\python.exe .\write_con.py
hiC:\Users\rpsharp>
Sin embargo, un archivo con el nombre que no sea algo que cualquier cosa que se inicia con con
funciona bien (write_other_con.py
):
f=open('other_con.txt','w')
f.write('hi')
Aquí está un funcionamiento:
C:\Users\rpsharp> C:\Python25\python.exe .\write_other_con.py
C:\Users\rpsharp> type .\other_con.txt
hi
lo que está pasando que hace que las versiones de Windows de python escriban en la consola cuando el prefijo del archivo nombrado es con
?