关于python import 的理解
我所见到过的一般是 from 文件夹 import 文件
from 一般是从同级的目录开始算起
那么 ,如果是导入上上级目录下的文件怎么办 比如: 其实相当于在加了一个路径,但是是不是永久的还不知道。
那如果是导入的是下下级的目录中的文件呢, 我想应该也是添加路径。
此外, 也可以是 from 文件及 import 文件夹 。 当然并不是真正的文件夹,因为文件夹中有__init__ 文件,比如: 这里 visual 其实是一个文件夹。
如果要引用里面的函数,则可以如下,其实window 是一个.py 文件,而Window() ,才是文件里面的函数,但是,直接写,visual.Window(), 也可以,不明白为什么
现在就有些混乱了,好像 from 可以加文件也可以直接加文件夹, 并且 import 后面可以是文件夹,可以是 文件,还可以是文件里面的函数,比如:
如果我是 from 文件夹 import 文件夹, 比如:from psychopy import visual ,这里visual是一个文件夹,那么我想导入文件里面的一个类, 比如: apt = visual.aperture.Aperture()
这里面,aperture是一个文件,而Aperture是文件里面的一个类,但是这么写会报错,错误为,no moduel has attribute aperture 。
但是同样写法的 win = visual.window.Window(),就可以,这里window 是一个.py文件,而Window是文件里的一个类。
为什么呢,网上差了些资料,我猜是 aperture 文件里只有一个类,并且还同名了。去看了一下文件,也确实是这样,并且,window文件里面,除了WIndow类,还有其他类。
如果是 apt = visual.Aperture() 这样直接写就没事。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律