【整理快速通道】python语法import速查
2024/8/22 23:02:58
本文主要是介绍【整理快速通道】python语法import速查,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这段文字是特意发送在除了CSDN以外的其他网站的,如果这段文字出现在CSDN里面,则说明该账号为抄袭账号,关键字索引:抄袭千思的文章
[toc]
正文
文件夹结构
my_project/ │ ├── main.py ├── math_utils/ │ ├── __init__.py │ ├── basic_operations.py │ └── advanced_operations.py │ ├── string_utils/ │ ├── __init__.py │ └── manipulations.py │ └── external_tools.py
my_project/作为项目文件夹,下面共4部分,一个main.py程序主入口,两个包(math_utils/,string_utils/),以及一个独立的模块。
注:my_project为项目文件夹,开始创建的时候是这个
模块调用包内模块
1. import
2. from…import…
3.import…as
4.from…import *(不推荐)
同级两个模块导入
from…import
动态导入
try…except…
跨级目录导入
不能这样导入
来看一下为什么
是在当前脚本的根目录而不是整个项目的根目录下找的
最快的解决方案是直接将项目目录加入搜索路径,这样就可以运行
代码放在这里
import os import sys # 获取当前工作目录(即项目根目录) current_dir = os.getcwd() # 将当前目录添加到 sys.path sys.path.append(current_dir)
关于_init_.py解释
比如我想要在main里面导入math_utils里面所有的函数,
这时候模块里面的add是识别不到的
解决方法是向需要的模块里面的_init_.py里面先import
这里的_init_.py相当于是一个管家,首先是main.py对math_utils 发出指令(from math_utils import *)说:“我要你里面所有的模块”,然后math_utils 说:“好,管家把所有的东西拿来”,但是实际上管家只是拿到了add,
这样main.py里面确实是使用没有问题了
不过除了add其他东西main.py还是使用不了的
模块的搜索路径
在 Python 中,模块的搜索路径是由 sys.path
列表决定的。每次执行 import
语句时,Python 会按照 sys.path
中的路径顺序查找模块或包。搜索路径顺序:
1. 当前目录(或执行脚本的目录)
2. PYTHONPATH
环境变量
3. 标准库路径
- Python 自带的标准库通常位于 Python 安装路径下的
lib
目录中。这个目录始终包含在sys.path
中,所以标准库模块可以被正常导入。
4. 安装的第三方库路径(site-packages
)
-
使用
pip
或其他包管理工具安装第三方库时,这些库通常会被安装在site-packages
目录中。这个目录位于 Python 安装路径下,通常也是sys.path
的一部分。
5. .pth
文件中的路径
- 从
.pth
文件(路径配置文件)中读取额外的路径。这些文件可以放在site-packages
目录中,或由自己创建,用来扩展模块的搜索路径。
6. 内置模块
- 如果以上所有路径都找不到所需模块,Python 会查找内置模块(例如
sys
和builtins
等)。这些模块是由 Python 编译时直接包含的,不需要从文件系统加载。
如何查看 sys.path
使用 sys
模块来查看当前 Python 的搜索路径:
import sys print(sys.path)
运行这段代码后,看到有一个列表包含所有搜索路径。路径的顺序非常重要,Python 会按照这个顺序进行搜索,找到第一个匹配的模块后就停止搜索。
修改 sys.path
可以动态地修改 sys.path
,比如添加一个自定义的路径:
import sys sys.path.append('/path/to/your/modules')
参考文献
https://blog.csdn.net/MaXumr/article/details/109640529
https://blog.csdn.net/lc_buzhidao/article/details/97285559
https://blog.csdn.net/qq_41092406/article/details/118203572
https://blog.csdn.net/qq_38614074/article/details/139407821
https://blog.csdn.net/qq_39621037/article/details/114831915
写在最后
欢迎技术类的问题到这里提出,我会逐个解答
文章许可:This work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
END
本文由博客一文多发平台 OpenWrite 发布!
这篇关于【整理快速通道】python语法import速查的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享