博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Note_python(05)
阅读量:2491 次
发布时间:2019-05-11

本文共 1819 字,大约阅读时间需要 6 分钟。

模块

1、初识模块

一个文件被看作一个独立模块,一个模块也可以被看作是一个文件。模块的文件名就是模块的名字加上扩展名.py。

模块内的函数的完整名字是通过句点标识符指定的,防止了名称冲突。例如:

tkinter.Tk()

2、搜索和路径

路径搜索和搜索路径是两个不同的概念,前者指查找某个文件的操作,后者是去查找一组目录。

通常我们导入模块,就回去路径中搜索,如果模块没在搜索路径中,就会导致路径搜索失败:

# 正常的模块导入PS C:\Code> pythonPython 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> import tkinter>>># 失败的模块导入>>> import xxxTraceback (most recent call last):  File "
", line 1, in
ModuleNotFoundError: No module named 'xxx'>>>

默认的搜索路径是在模块安装是指定的,但是也是可以被修改的。

在python解释器启动后,就可以访问搜索路径,通常被保存在sys模块的sys.path变量中。而且其输出为一个包含有各个独立路径的列表。

>>> import sys>>> sys.path['', 'C:\\Users\\yanta\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\yanta\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\yanta\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\yanta\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\yanta\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']>>>

我们可以对其进行修改,使用append()方法即可:

>>> sys.path.append('/home/wesc/py/lib')

此外使用sys.modules可以找到当前导入了哪些模块和他们的来处。与sys.path不同,sys.modules是一个字典,使用模块名作为键(key),对应物理地址作为值(value):

>>> sys.modules{
'builtins':
, 'sys':
, '_frozen_importlib':
, '_imp':
, '_warnings':
, '_thread':
, '_weakref':
, '_frozen_importlib_external':
, '_io':
, 'marshal':
, 'nt':
, 'winreg':
, 'zipimport':
, 'encodings':
, 'codecs':
, '_codecs':
, 'encodings.aliases':
, 'encodings.utf_8':
, '_signal':
, '__main__':
, 'encodings.latin_1':
, 'io':
, 'abc':
, '_weakrefset':
, 'site':
, 'os':
, 'errno':
, 'stat':
, '_stat':
, 'ntpath':
, 'genericpath':
, 'os.path':
, '_collections_abc':
, '_sitebuiltins':
, 'sysconfig':
, 'atexit':
}

转载地址:http://ggarb.baihongyu.com/

你可能感兴趣的文章
log日志记录是什么
查看>>
<rich:modelPanel>标签的使用
查看>>
<h:commandLink>和<h:inputLink>的区别
查看>>
<a4j:keeyAlive>的英文介绍
查看>>
关于list对象的转化问题
查看>>
VOPO对象介绍
查看>>
suse创建的虚拟机,修改ip地址
查看>>
linux的挂载的问题,重启后就挂载就没有了
查看>>
docker原始镜像启动容器并创建Apache服务器实现反向代理
查看>>
docker容器秒死的解决办法
查看>>
管理网&业务网的一些笔记
查看>>
openstack报错解决一
查看>>
openstack报错解决二
查看>>
linux source命令
查看>>
openstack报错解决三
查看>>
乙未年年终总结
查看>>
子网掩码
查看>>
第一天上班没精神
查看>>
启动eclipse报错:Failed to load the JNI shared library
查看>>
eclipse安装插件的两种方式在线和离线
查看>>