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文章
2695瀏覽量
47433 -
python
+關注
關注
56文章
4792瀏覽量
84629
發布評論請先 登錄
相關推薦
什么是復制字符串?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中統計字符串中字母個數的方法有多種,下面我會詳細介紹一些常用的方法。 方法一:使用循環遍歷字符串 該方法通過循環遍歷字符串中的每
評論