You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Mac系统下保存Python文件时如何创建子目录?解决模块导入报错

解决Mac上Python模块导入错误及目录结构创建问题

一、先解决「模块找不到」的报错问题

你遇到的没有名为dir...的模块错误,主要是两个常见原因,一步步排查就能解决:

  1. 确认当前工作目录是否正确
    Python只会在sys.path列表里的目录搜索模块,Mac的IDLE默认打开的工作目录可能不是你存放dir1的父目录。

    • 先在IDLE里执行这行代码查看当前路径:
      import os
      print(os.getcwd())
      
    • 如果输出的路径不是dir1所在的父目录,就用os.chdir()切换过去,比如你的代码放在/Users/你的用户名/Documents/PythonCode里,就执行:
      os.chdir("/Users/你的用户名/Documents/PythonCode")
      

    之后再执行import dir1.dir2.mod应该就能正常导入了。

  2. 检查目录/文件名的大小写
    Mac的文件系统是区分大小写的,而Windows不区分。比如如果你把文件夹命名成Dir1而不是dir1,Python就会找不到模块,一定要确保目录和文件名和代码里的完全一致(全小写的dir1dir2mod.py)。

  3. 纠正书中的笔误
    顺便提一句,你贴的dir1\dir2\__init__.py里的打印语句写错了,应该是print('dir2 init')而不是print('dir1 init'),不然导入时会输出两次dir1 init,和你说的预期输出不符。


二、Mac上创建Python子目录结构的两种方法

方法1:图形界面(Finder)操作

  • 打开你要存放代码的文件夹(比如「文档」里新建一个「Python学习」文件夹)
  • 右键选择「新建文件夹」,命名为dir1
  • 进入dir1文件夹,再新建一个文件夹命名为dir2
  • 分别在dir1dir1/dir2里创建空白文本文件,重命名为__init__.py;在dir1/dir2里创建mod.py,之后用文本编辑器(比如VS Code、TextEdit)打开这些文件写入代码即可。

方法2:终端命令行操作

这种方式更高效,适合熟悉终端的用户:

  • 先切换到你要存放代码的目录,比如:
    cd ~/Documents/Python学习
    
  • 一次性创建嵌套目录:
    mkdir -p dir1/dir2
    
  • 创建所有需要的空文件:
    touch dir1/__init__.py dir1/dir2/__init__.py dir1/dir2/mod.py
    
    之后就可以用编辑器打开这些文件编写代码了。

内容的提问来源于stack exchange,提问作者realnickspiess

火山引擎 最新活动