如何在Windows上的python中创建区分大小写的文件?

时间:2013-10-27 18:40:26

标签: python windows filenames case-sensitive case-insensitive

我想创建A.txt和a.txt

f = codecs.open('A.txt', 'w', 'utf-8')
f = codecs.open('a.txt', 'w', 'utf-8')

但事实证明它只是在Windows上创建了A.txt。

是否可以强制创建区分大小写的文件?如果不在* nix。

4 个答案:

答案 0 :(得分:1)

NTFS文件系统上的文件名(Windows的默认设置)不区分大小写。从快速搜索看来,如果区分大小写的文件名对您很重要,您应该只使用* nix操作系统。使Windows与区分大小写的文件名一起工作是一项重大工作。

答案 1 :(得分:1)

引自http://support.microsoft.com/kb/100625

  

作为POSIX合规性要求的一部分,Windows NT文件   系统(NTFS)提供区分大小写的文件和目录命名   惯例。即使NTFS和POSIX子系统都处理   区分大小写,基于Windows的16位,基于MS-DOS,基于OS / 2,   和基于Win32的应用程序没有。

     

在NTFS中,您可以创建存储在同一文件中的唯一文件名   目录,仅在大小写上有所不同。例如,以下内容   文件名可以共存于NTFS卷上的一个目录中:CASE.TXT   case.txt case.TXT但是,如果您尝试打开其中一个文件   在Win32应用程序(如记事本)中,您只能访问   其中一个文件,无论您输入的文件名是什么情况   打开文件对话框。

即使它支持区分大小写的文件名,如果你使用Win32应用程序,你将无法享受它。

答案 2 :(得分:0)

NTFS不区分大小写。 A.txta.txt的文件名相同。

答案 3 :(得分:0)

$ touch case.txt
$ touch CASE.txt
$ ls *.txt
case.txt  CASE.txt

你可以在* nix机器上工作 但是在Windows中我不确定你能不能做这个工作