1

问题的简化描述,我有:

目录和文件结构:

./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 作为编辑器。)

4

2 回答 2

3

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,您可能需要创建一个区分大小写的磁盘映像并从中工作(这个问题在网络上有讨论)。

于 2012-07-01T09:58:26.893 回答
1

OSX 上的文件大小写将保留为最初创建文件时使用的任何文件。因此mv Task.py task.py行不通。如果要重命名文件,通常需要先将其重命名为其他名称。您可以通过以下方式在命令行中执行此操作:

cd Task
mv Task.py temp.py
mv temp.py task.py

PS 如果您的文件在 git 版本控制下,它会变得更加复杂。

于 2012-07-01T10:01:00.653 回答