尝试使用open(filename,'x')打开文件时出现文件错误 - Windows大小写敏感问题

问题描述 投票:2回答:1

我在Windows上,我的目录中没有任何文件。

我无法弄清楚原因:

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

fid = open('L01a.txt', 'x')
fid.write('a')
fid.close()

给我:

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

python naming
1个回答
4
投票

使用模式“x”打开文件,该模式仅用于创建文件。来自doc

'x',打开以进行独占创建,如果文件已存在则失败

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

python open built-in function: difference between modes a, a+, w, w+, and r+?

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

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

根据这个线程,您可能希望为所有子目录启用此功能,这是一种方法,这样做Apply setCaseSensitiveInfo recursively to all folders and subfolders

谢谢Lalush的线程。

© www.soinside.com 2019 - 2024. All rights reserved.