在Windows 7中用冒号(“:”)打开文件名

我正在编写一个Python应用程序,应该可以在Windows和Linux上运行,但是有一个文件传输约定有问题。 我需要加载一个名称中冒号的JSON文件。 然而,在Windows 7中,似乎不可能,至less不是直接的。

这些文件存储在NFS驱动器上,因此我们可以在Windows 7中看到它,但无法打开它们。

有没有人有一个解决方法,如何可能读取包含在Windows 7冒号使用Python的JSON文件? 我们有一个可能的解决方法(我们希望避免)是SSH进入一个Linux机器,回显内容并将其发送回去。

显然,如果其他人有另一种方法,将是伟大的。 Windows XP能够打开它们并阅读它们 – 这只是Win 7的一个问题。

-edit-更新:我们发现我们可以通过networking访问我们的NFS / AFS服务器。 所以我们最终使用urllib2 urlopen所有包含无效字符的JSON文件。 似乎到目前为止运作良好。

引用http://support.microsoft.com/kb/289627

Windows和UNIX操作系统对可以在文件名中使用的有效字符有限制。 但是,每个操作系统的非法字符列表是不同的。 例如,UNIX文件名可以使用冒号(:),但Windows文件名不能使用冒号(:)。 …

要启用文件名字符映射,请创建一个字符转换文件并添加注册表项。

例如,以下将UNIX冒号(:)映射到Windows短划线( – ):

0x3a:0x2d; 替换客户端:在服务器上

创建文件名字符转换文件时,必须在系统注册表中指定其名称位置。 要注册文件的路径和名称:

  • 使用注册表编辑器找到以下注册表项:
  • HKEY_LOCAL_MACHINE \ Software \ Microsoft \ server For NFS \ CurrentVersion \ Mapping
  • 编辑CharacterTranslation(REG_SZ)值。
  • 输入文件名字符转换文件的标准路径名称。 例如,C:\ Sfu \ CTrans.txt。