3

我想同时创建 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

4 回答 4

1

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

作为 POSIX 合规性要求的一部分,Windows NT 文件系统 (NTFS) 提供了区分大小写的文件和目录命名约定。尽管 NTFS 和 POSIX 子系统都可以很好地区分大小写,但基于 16 位 Windows、基于 MS-DOS、基于 OS/2 和基于 Win32 的应用程序却不能。

在 NTFS 中,您可以创建唯一的文件名,存储在同一目录中,仅大小写不同。例如,以下文件名可以共存于 NTFS 卷上的一个目录中: CASE.TXT case.txt case.TXT 但是,如果您尝试在 Win32 应用程序(例如记事本)中打开这些文件之一,您将只能访问到其中一个文件,无论您在“打开文件”对话框中键入的文件名的大小写如何。

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

于 2013-10-27T18:52:55.387 回答
1

NTFS 不区分大小写。A.txt并且a.txt是相同的文件名。

于 2013-10-27T18:42:03.303 回答
1

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

于 2013-10-27T18:42:50.457 回答
0
$ touch case.txt
$ touch CASE.txt
$ ls *.txt
case.txt  CASE.txt

您可以在 *nix 机器上完成这项工作,但在 Windows 中我不确定您是否可以完成这项工作

于 2013-10-27T18:46:31.883 回答