跨文件调用.py文件件,import本质

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨文件调用.py文件件,import本质相关的知识,希望对你有一定的参考价值。

跨目录调用文件

import os
import sys
BASEDIR=os.path.dirname(os.path.abspath(file))
#os.path.abspath(file) #自动返回绝对路径
#os.path.dirname(os.path.abspath(file)) #返回目录名不要文件名
#os.path.dirname(os.path.dirname(os.path.abspath(file))) #返回上一层目录
print(BASEDIR)

sys.path.append(BASEDIR) #添加环境变量
from 模块三 import 类

类.ddd()

#1.定义:

模块:用从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),

#本质上是.py结尾的pyrhon文件(文件名:test.py,对应的模块名:test)
#包用来从逻辑上组织模块的,本质就一个目录(必须带有一个init.py文件)

#2.导入方法

import alex_text #导入蘑菇模块

#alex_test.logger() #调用模块里的东西需要加前缀alex_text

import alex_name,main_t #导入多个模块

from 能跨目录调用.py文件(from day5(目录名) import test(.py文件名) # logger.test1.test() )

#from module_xxx import * #导入模块中所有的代码(相当于把代码复制并编译一遍,会与当前文件中的同样名字的变量等互相覆盖)
#logger() #能直接调用模块里的东西(不需要前缀)

#from alex_txt import logger,m2,m3 #导入多个变量(调用时不需要前缀)
#from alex_txt import loggt as loggt_main #导入模块后改变其名

#3.import本质(路径搜索和搜索路径)
#导入模块的本质就是把python文件解释一遍
#导入包的本质就是执行该包下的init.py文件

导入在包中的.py文件需要在init文件中调用那个文件from . import test 是表示文件当前路径

#4.优化
#剩下每次去寻找路径,直接调用。
#from test import text1

#5.模块分类:
#a:标准库(内置模块)
#b:开源模块
#c:自定义模块

以上是关于跨文件调用.py文件件,import本质的主要内容,如果未能解决你的问题,请参考以下文章

Python 模块详解及import本质

Python:模块详解及import本质

Python Day05 python 环境变量和import模块导入

导入模块方式(尽量少用from xx import *)以及包的定义,跨目录运行包和模块(未完)

python 第无课笔记

python如何通过变量import其他文件夹的py文件