import helloWorld在Unix中运行,但不在Windows中运行

时间:2016-09-15 03:24:48

标签: python windows import

我正在阅读的关于Python的书提供了以下如何在交互式提示符下导入模块的示例:

>>> import helloWorld

这在我的Unix终端中运行良好,但是当我在Windows下的交互式会话中尝试同样的命令时,我得到语法错误或找不到模块。我已经尝试将模块的完整路径无效,我尝试在首次更改到包含此模块的文件夹后启动Python,但没有运气。我甚至将“helloworld.py”文件移到了“C:\ Python27”文件夹中。

我感到困惑,因为本书显示此命令在Windows命令提示符下工作。

1 个答案:

答案 0 :(得分:0)

Python默认使用区分大小写的导入,即使在Windows上也是如此。 Windows文件API不区分大小写[1],但Windows文件系统保留了大小写,这使得实现区分大小写的导入成为可能[2]。当Python尝试导入helloWorld时,它会在sys.path中搜索名为“helloWorld”的包和文件以及任何允许的扩展名(例如.py,.pyc,.pyo,.pyd)。没有扩展名的基本文件名必须与导入名称的确切大小写匹配。文件扩展名本身的情况将被忽略。

[1]可以通过注册表设置启用对象管理器的旧(即NT 3.x和4.x)执行区分大小写的查找的能力。然后可以使用标志调用CreateFileFindFirstFile以启用区分大小写的查找 [2]除非目录中的多个文件仅因大小写而异。处理需要[1]。 功能