Python之模块导入
import sys #import module (.py)
import functools #名词空间 functools
print(functools) print("-------------os----------------------")
import os.path #dir-->名词空间 os;;os&path是二个py文件
print(os)
from inspect import Signature
print(Signature.__module__) #return 从哪个模块导入 print("-----------alias--------------------")
import os.path as osp #dir-->名词空间osp
print(osp) print('-----------from_import---------------')
from pathlib import Path #dir-->名词空间Path
from pathlib import * #dir-->['Path', 'PosixPath', 'PurePath', 'PurePosixPath', 'PureWindowsPath']
import pathlib as pl #导入的名词和别名是一个对象
from os.path import exists #加载初始化os,os.path ,exists加入本地名词空间并绑定
print(pl.Path,id(pl.Path))
print(Path,id(Path))
'''part1总结
找到from子句中指定的模块,加载并初始化它(注意不是导入)
import子句后先查from子句导入的模块是否具有该名称的属性,如果不是尝试导入该名称的子模块
没有找到抛出importerror异常,这个名称保存到本地名词空间中,如果有as子句,使用as子句后的名称
'''
print("------------costomize----------------")
"""
模块名就是文件名,必须符合标识符的要求,非数字开头的字母数字下划线组合
搜索顺序sys.path
"""
print("------------__name__ == __main__-----------------------")
'''
自己模块的调用执行测试,对于非主模块,测试本模块内的函数类
顶层代码没有封装,主模块使用时候没有问题,但是一旦有了新的主模块,老的主模块变成了被导入模块
由于老模块代码没有封装,一并执行了
'''
print("-------------相对导入-------------------------------------")
'''
相对导入的模块是为了package之间互相医用资源,即不能作为主函数的入口
''' print("----------------__all__-----------------------------------")
'''
#a.py
__all__ = ['x','y','_b','__c']
a = 5
_b = 6
__c = 7
x = 10
y = 20
#b.py
from b import *
import sys
print(sorted(sys.modules.keys()))
print(locals()['x'])
print(locals()['__c'])
__all__是一个列表,元素是字符串,每一个元素都是模块内的变量名,导入时,导入__all__里面的名称
访问a中的变量 就可以通过__all__的方式来访问
'''
print("----------Public 模块属性---------------------")
print(__file__) #当前文件的路径
print(__cached__) #编译后的字节码文件路径
print(__spec__) #显示模块的的规范
print(sys.path) #output 搜索路径顺序
print(__name__) #output __main__
print(__package__) #模块是包同__name__,否则。可以设置为顶级模块的空字符串
print(dir())
print(sys.modules)
Python之模块导入的更多相关文章
- [python]关于在python中模块导入问题追加总结
[背景] 最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结 原帖子:[python]关于python中模 ...
- python random模块导入及用法
random是程序随机数,很多地方用到,验证码,图片上传的图片名称等,下面说说python random模块导入及用法 1,模块导入 import random 2,random用法 random.r ...
- python Calendar 模块导入及用法
Calendar 是python 日历模块,此模块的函数都是日历相关的,例如打印某月的字符月历,星期之类的模块,下面剖析python Calendar 模块导入及用法. 1,python导入日历模块 ...
- python中模块导入问题(已解决)
想在python中导入request包: 无此模块,于是先安装requests包: 但是提示"Requirement already satisfied".在提示的相应目录里,找到 ...
- python自定义模块导入方法,文件夹,包的区别
python模块导入,网上介绍的资料很多,方法也众说纷纭.根据自己的实践,感觉这个方法最简单直接,而且可以与主流的python ide生成的工程是一样的. 规则只有三条 1. 严格区分包和文 ...
- python的模块导入机制
在python中用import或者from...import来导入相应的模块. 模块(Module)其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模 ...
- python之模块导入和包
一.何为模块 1.一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 2.模块目的和函数,对象等一样,是为了代码的复用性而存在的.即一个py程序写了很多功能,也可 ...
- python之模块导入和重载
模块导入和重载 模块导入通过import语句实现,但是在同一次会话中只运行一次. 若想要再次运行文件,调用imp标准库中的reload函数: >>> from imp import ...
- python的模块导入问题
以下内容参考:http://www.xinxingjiaocheng.com/online/item/7/89 1.给模块起个别名 如果一个模块的名字很长很长,就像这样comput_the_value ...
随机推荐
- Kubernetes集群的监控报警策略最佳实践
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79652064 本文为Kub ...
- Ubuntu下创建新用户后,不能使用管理员用户下安装的Anaconda
解决办法: 将管理员用户下Anaconda的安装环境添加到新用户下的环境变量里,具体操作: 系统切换到新用户下: vim .bashrc #添加Anaconda的环境变量 source .bashrc ...
- TCP是如何保证可靠传输的
TCP 协议如何保证可靠传输 一.综述 1.确认和重传:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传. 2.数据校验 3.数据合理分片和排序: UDP:IP数据报大于1500字节 ...
- DB2隔离级别之RR/RS/CS/UR
1.RR隔离级别:在此隔离级别下. DB2会锁住全部相关的纪录. 在一个SQL语句运行期间, 全部运行此语句扫描过的纪录都会被加上对应的锁.在一个SQL语句运行期间,全部运行此语句扫描过的纪录都会 ...
- Linux环境设置IP及关闭防火墙
确认当前网络配置: [root@localhost ~]# nmcli -p dev ===================== Status of devices ================= ...
- 解决Pycharm更新package出现的问题:AttributeError:module 'pip' has no attribute 'main'
很久一段时间没有更新Pycharm当中的package了,今天打开Pycharm点击package更新,发生了错误,AttributeError:module 'pip' has no attribu ...
- 数据交互axios的用法
参考: https://www.cnblogs.com/zhouyangla/p/6753673.html
- js 图片与base64互相转换
js将图片转化为base64 参考地址:http://www.cnblogs.com/mr-wuxiansheng/p/6931077.html var img = "imgurl" ...
- common lisp的几个基本概念
S-表达式 quote nil 与 () cons car cdr 真假 predicate 谓词与 t 与 nil null 函数 与 not 函数 if then else and 与 or de ...
- java开发mis系统所需技术及其作用
MIS(管理信息系统--Management Information System)系统 ,是一个由人.计算机及其他外围设备等组成的能进行信息的收集.传递.存贮.加工.维护和使用的系统. 是一门新兴的 ...