尝试使用 open(filename,'x') 打开文件时文件存在错误 - Windows 大小写区分大小写问题

Lal*_*ush 3 python naming

我在 Windows 上,我的目录中不存在任何文件。

我很难弄清楚原因:

fid = open('L01A.txt', 'x')
fid.write('A') 
fid.close()

fid = open('L01a.txt', 'x')
fid.write('a')
fid.close()
Run Code Online (Sandbox Code Playgroud)

给我:

[错误 17] 文件存在:'L01a.txt'。

Blu*_*ken 5

您使用模式“x”打开文件,该模式仅用于创建文件。从文档

'x',为独占创建打开,如果文件已经存在则失败

您应该使用另一种模式,这里有一个有用的链接,可以找到对您有用的不同模式的描述

python open 内置函数:模式a、a+、w、w+和r+之间的区别?

编辑:显然你的错误是你不能用名字L01AL01a两种不同的情况创建 2 个文件,这是 Windows 文件系统不区分大小写。您不能创建两个不同的文件。

如果您绝对需要区分大小写,您可以在目录中启用 NTFS,启动管理 powershell 并执行 fsutil.exe file setCaseSensitiveInfo C:\folder enable

根据此线程,您可能希望为所有子目录启用此功能,这里有一种方法可以将 setCaseSensitiveInfo 递归地应用于所有文件夹和子文件夹

感谢 Lalush 的线程。