1.1 python获取模块属性
1.1.1 获取模块属性
描述
python可以通过点号或字典,获取模块属性。
已经导入的模块存放在sys.modules字典,通过getattr获取模块属性。
NO | 获取属性 | 描述 |
---|---|---|
1 | M.name | 点号运算,“模块名”点“属性名” |
2 | M. dict [‘name’] | 属性字典,“模块名”. dict [‘属性名’] |
3 | sys.modules[‘M’].name | 点号运算,sys.modules[‘模块名’].属性名 |
4 | getattr(M,’name’) | getattr(模块名,’属性名’) |
注:用as后,通过字符串方式访问的用“原名”,通过变量名方式访问的用“别名”。
文件内容
E**:**\\documents\\F盘\\testmatt.py
import os,sys
print("run:{}".format(os.path.abspath(__file__)))
print("__name__:{}".format(__name__))
tyxt='梯阅线条'
示例
# 打开cmd 执行下面示例
E:\\documents\\F盘>python
>>> import testmatt as matt
run:E:\\documents\\F盘\\testmatt.py
__name__:testmatt
# M.name , as 后 , 变量名方式 用别名访问
>>> matt.tyxt
'梯阅线条'
# M.__dict__['name']
>>> matt.__dict__['tyxt']
'梯阅线条'
>>> import sys
# sys.modules['M'].name , as 后 , 字符串方式 用原名访问
>>> sys.modules['testmatt'].tyxt
'梯阅线条'
>>> sys.modules['matt'].tyxt
Traceback (most recent call last):
File "" , line 1, in
KeyError: 'matt'
# getattr(M,'name') , as 后 , 变量名方式 用别名访问
>>> getattr(matt,'tyxt')
'梯阅线条'
>>> getattr(testmatt,'tyxt')
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'testmatt' is not defined
1.2 python字符串导入模块
python导入模块时,需提供模块的变量名,如果导入时只能获取模块字符串形式的名称,就会导入失败。
1.2.1 描述
NO | 执行方式 | 描述 |
---|---|---|
1 | exec(“import M”) | 执行引号内导入语句,不返回结果 |
2 | import (“import M”) | 执行引号内导入语句,返回导入模块 |
1.2.2 exec
示例
# 打开cmd 执行下面示例
# import 字符串,导入失败
>>> import 'string'
File "" , line 1
import 'string'
^
SyntaxError: invalid syntax
# 字符串赋值给变量,import 导入失败
>>> s='string'
>>> import s
Traceback (most recent call last):
File "" , line 1, in
ModuleNotFoundError: No module named 's'
>>> string
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'string' is not defined
>>> impmod='import '+s
# exec()导入成功,直接执行,不返回结果
>>> exec(impmod)
>>> string
'string' from 'D:\\\\python3\\\\lib\\\\string.py'>
>>> s
'string'
1.2.3 import
示例
# 打开cmd 执行下面示例
>>> s='string'
>>> string
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'string' is not defined
>>> __import__(s)
'string' from 'D:\\\\python3\\\\lib\\\\string.py'>
>>> string
Traceback (most recent call last):
File "" , line 1, in
NameError: name 'string' is not defined
# __import__()返回模块,需手动赋值
>>> string=__import__(s)
>>> string
'string' from 'D:\\\\python3\\\\lib\\\\string.py'>
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
模块
+关注
关注
7文章
2696浏览量
47437 -
python
+关注
关注
56文章
4793浏览量
84634
发布评论请先 登录
相关推荐
什么是复制字符串?Python如何复制字符串
连续几篇文章都在写 Python 字符串,这出乎我的意料了。但是,有的问题,不写不行,特别是那种灵机一动想到的问题,最后你发现,很多人根本不懂却又误以为自己懂了。那就继续刨根问底,探究个明白吧
发表于 11-25 10:32
•3011次阅读
2.2 python字符串类型
2.2 python字符串类型 1. 如何定义字符串? 字符串是Python中最常用的数据类型之一。 使用单引号或双引号来创建
python字符串有哪些特定方法
python字符串序列操作也适用于列表和元组。
python字符串还有独有方法,即字符串对象的函数,其他对象不可调用,只有
Python 如何判断字符串是否包含子串
方法 使用 字符串 对象的 find 方法,如果有找到子串,就可以返回指定子串在字符串中的出现位置,如果没有找到,就返回 -1 >> > "hello,
字符串如何转换成日期型
同编程语言将字符串转换为日期类型。 正文: 一、Python中的字符串转日期转换 在Python中,使用datetime模块可以方便地将
python输出固定长度的字符串
Python 是一种强大而灵活的编程语言,具有许多用于处理字符串的功能。在 Python 中,有多种方法可以输出固定长度的字符串。下面将详细介绍
python如何统计字符串中字母个数
Python中统计字符串中字母个数的方法有多种,下面我会详细介绍一些常用的方法。 方法一:使用循环遍历字符串 该方法通过循环遍历字符串中的每
评论