问题的简化描述,我有:
目录和文件结构:
./top.py
./Task/Task.py (was deleted and then renamed as:)
./Task/task.py
top.py
进口task.py
. 但是当我运行时top.py
,我看到task.py
自动更改为Task.py
.
为什么会这样?
(我在 Mac OS 10.6 上使用 mvim 作为编辑器。)
Mac OS X 的默认文件系统不区分大小写,但会保留大小写,正如 Charles 所说(此文件系统称为 Mac OS Extended 或HFS Plus,默认配置为不区分大小写)。因此,实际上,./Task/Task.py 和 ./Task/task.py 是同一个文件(例如,您可以open('task.py')
在 Python 中使用 , 来读取 Task.py),但是在创建文件时使用的名称与原案一起保存。
如果您确实需要区分 Task.py 和 task.py,您可能需要创建一个区分大小写的磁盘映像并从中工作(这个问题在网络上有讨论)。
OSX 上的文件大小写将保留为最初创建文件时使用的任何文件。因此mv Task.py task.py
行不通。如果要重命名文件,通常需要先将其重命名为其他名称。您可以通过以下方式在命令行中执行此操作:
cd Task
mv Task.py temp.py
mv temp.py task.py
PS 如果您的文件在 git 版本控制下,它会变得更加复杂。