我正在阅读的关于Python的书提供了以下如何在交互式提示符下导入模块的示例:
>>> import helloWorld
这在我的Unix终端中运行良好,但是当我在Windows下的交互式会话中尝试同样的命令时,我得到语法错误或找不到模块。我已经尝试将模块的完整路径无效,我尝试在首次更改到包含此模块的文件夹后启动Python,但没有运气。我甚至将“helloworld.py”文件移到了“C:\ Python27”文件夹中。
我感到困惑,因为本书显示此命令在Windows命令提示符下工作。
答案 0 :(得分:0)
Python默认使用区分大小写的导入,即使在Windows上也是如此。 Windows文件API不区分大小写[1],但Windows文件系统保留了大小写,这使得实现区分大小写的导入成为可能[2]。当Python尝试导入helloWorld
时,它会在sys.path
中搜索名为“helloWorld”的包和文件以及任何允许的扩展名(例如.py,.pyc,.pyo,.pyd)。没有扩展名的基本文件名必须与导入名称的确切大小写匹配。文件扩展名本身的情况将被忽略。
[1]可以通过注册表设置启用对象管理器的旧(即NT 3.x和4.x)执行区分大小写的查找的能力。然后可以使用标志调用CreateFile
和FindFirstFile
以启用区分大小写的查找
[2]除非目录中的多个文件仅因大小写而异。处理需要[1]。
功能