Abrir nombres de archivos con dos puntos (“:”) en Windows 7

Estoy escribiendo una aplicación de Python que debería ejecutarse tanto en Windows como en Linux, pero tengo un problema con una de las convenciones de nombres de archivo. Necesito cargar un archivo JSON que tenga dos puntos en su nombre. Sin embargo, con Windows 7 no parece ser posible, al menos no directamente.

Estos archivos se almacenan en una unidad NFS, por lo que podemos verlos en Windows 7, pero no podemos abrirlos.

¿Alguien tiene una solución alternativa a cómo puede ser posible leer el archivo JSON que contiene dos puntos en Windows 7 usando Python? Una posible solución que tenemos (que nos gustaría evitar) es colocar SSH en una caja de Linux, repetir el contenido y enviarlo de vuelta.

Obviamente si alguien más tiene otro método que sería genial. Windows XP puede abrirlos y leerlos bien, esto es solo un problema con Win 7.

-editar- Actualización: Descubrimos que podemos acceder a nuestros servidores NFS / AFS a través de la web. Así que terminamos usando urllib2 urlopen para todos los archivos JSON que contienen caracteres no válidos. Parece estar funcionando bien hasta ahora.

Para citar desde http://support.microsoft.com/kb/289627 :

Los sistemas operativos Windows y UNIX tienen restricciones en los caracteres válidos que se pueden usar en un nombre de archivo. La lista de caracteres ilegales para cada sistema operativo, sin embargo, es diferente. Por ejemplo, un nombre de archivo UNIX puede usar dos puntos (:), pero un nombre de archivo de Windows no puede usar dos puntos (:). …

Para habilitar la asignación de caracteres del nombre de archivo, cree un archivo de traducción de caracteres y agregue una entrada de registro.

Por ejemplo, lo siguiente asigna los dos puntos de UNIX (:) a un guión de Windows (-):

0x3a: 0x2d; reemplazar cliente: con – en servidor

Cuando haya creado el archivo de traducción de caracteres de nombre de archivo, debe especificar su ubicación de nombre en el registro del sistema. Para registrar la ruta y el nombre del archivo:

  • Use el Editor del Registro para ubicar la siguiente clave de registro:
  • HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Server para NFS \ CurrentVersion \ Mapping
  • Edite el valor de CharacterTranslation (REG_SZ).
  • Introduzca el nombre de ruta completo del archivo de traducción de caracteres del nombre de archivo. Por ejemplo, C: \ Sfu \ CTrans.txt.