Python模块详解以及import本质,获得文件当前路径os.path.abspath,获得文件的父目录os.path.dirname,放到系统变量的第一位sys.path.insert(0,x)
2017-09-05 21:10
1041 查看
模块介绍
1、定义:
模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test)
包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件)
2、导入方法:
import module_name
引用脚本里的函数用方法module_name.logger()
import module1_name,module2_name
导入多个脚本模块
from module_alex import *
这里相当于导入module_alex脚本文件里的所有代码
from module_alex import m1,m2,m3
from module_alex import logger as logger_alex
这里相当于导入module_alex脚本里的logger函数,并给它起别名为logger_alex,注意这里的 logger不能写成 logger()
用from的方法,这个想再引用module_alex里的函数或者变量,直接logger()就OK了。如果有别名那么直接执行logger_alex()
3、import本质(把模块的所有代码解释了一遍,赋值给module_alex)
from module_alex import name的本质(把name这个代码复制一份到当前脚本)
import本质(路径搜索和搜索路径)
导入模块的本质就是把python文件解释一遍,然后赋值给模块名,(import test 相当于 test='test.py all code')
导入模块的过程:找文件,找文件所在的路径,找sys.path
所以 我们需要把当前脚本的绝对路径的父父路径,加到sys.path里去,这样就可以找到其他模块。
所以我们引入一个新模块os,os.path.abspath(__file__)可以获得当前模块的绝对路径
然后再通过os.path.dirname可以获取到除文件名以外的路径,我们使用2次,就可以得到父父级目录,现在我们获得了父父级目录,我们把目录加到 sys.path去,但是我们注意我们需要把这个目录放到列表sys.path的第一个位置去~!
导入包的本质就是执行该包下面的__init__.py文件
4、导入优化
1、定义:
模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test)
包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件)
2、导入方法:
import module_name
引用脚本里的函数用方法module_name.logger()
import module1_name,module2_name
导入多个脚本模块
from module_alex import *
这里相当于导入module_alex脚本文件里的所有代码
from module_alex import m1,m2,m3
from module_alex import logger as logger_alex
这里相当于导入module_alex脚本里的logger函数,并给它起别名为logger_alex,注意这里的 logger不能写成 logger()
用from的方法,这个想再引用module_alex里的函数或者变量,直接logger()就OK了。如果有别名那么直接执行logger_alex()
3、import本质(把模块的所有代码解释了一遍,赋值给module_alex)
from module_alex import name的本质(把name这个代码复制一份到当前脚本)
import本质(路径搜索和搜索路径)
导入模块的本质就是把python文件解释一遍,然后赋值给模块名,(import test 相当于 test='test.py all code')
导入模块的过程:找文件,找文件所在的路径,找sys.path
所以 我们需要把当前脚本的绝对路径的父父路径,加到sys.path里去,这样就可以找到其他模块。
所以我们引入一个新模块os,os.path.abspath(__file__)可以获得当前模块的绝对路径
然后再通过os.path.dirname可以获取到除文件名以外的路径,我们使用2次,就可以得到父父级目录,现在我们获得了父父级目录,我们把目录加到 sys.path去,但是我们注意我们需要把这个目录放到列表sys.path的第一个位置去~!
导入包的本质就是执行该包下面的__init__.py文件
4、导入优化
相关文章推荐
- python中利用os模块打印任意文件夹里面的文件名字,当前文件夹路径,已经其的目录名字
- python---os,sys的文件操作,strip()去除空格,.号当前目录查找,绝对路径查找
- python ( os , path , sys ) 找出指定目录下的所有文件,并求出大小且排序
- 编写一个Python程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
- Python:编写函数,能在当前目录以及子目录下查找文件名包含指定字符串的文件,并打印出完整路径
- Python:目录和文件的操作模块os.path
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- python 获取当前 py 文件 的文件名 os.path.basename(sys.argv[0]).split(".")[0]
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- python shell中python os模块实用函数(含改变当前工作路径、显示当前目录等)
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import
- Python Import机制-模块搜索路径(sys.path)、嵌套Import、package Import
- Python 在当前目录以及其子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
- node.js认识学习二:__dirname获取当前模块文件所在目录的完整绝对路径
- python中os.path以及sys.path模块简介
- Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import