91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中引入文件

發布時間:2020-08-24 16:05:10 來源:億速云 閱讀:143 作者:Leah 欄目:編程語言

怎么在python中引入文件?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Python中的包,也就是.py文件,那么該怎么引入文件呢?

使用 import 導入模塊的語法,但實際上 import 還有更多詳細的用法,主要有以下兩種:

import 模塊名1 [as 別名1], 模塊名2 [as 別名2],…: 導入整個模塊。
from 模塊名 import 成員名1 [as 別名1],成員名2 [as 別名2],…: 導入模塊中指定成員。

上面兩種 import 語句的區別主要有以下幾點:

第一種 import 語句導入整個模塊內的所有成員(包括變量、函數、類等);第二種 import 語句只導入模塊內的指定成員(除非使用 form 模塊名 import *,但通常不推薦使用這種語法)。

當使用第一種 import 語句導入模塊中的成員時,必須添加模塊名或模塊別名前綴;使用第二種 import 語句導入模塊中的成員時,無須使用任何前綴,直接使用成員名或成員別名即可。

下面程序使用導入整個模塊的最簡單語法來導入指定模塊:

# 導入sys整個模塊
import sys
# 使用sys模塊名作為前綴來訪問模塊中的成員
print(sys.argv[0])

上面第 2 行代碼使用最簡單的方式導入了 sys 模塊,因此在程序中使用 sys 模塊內的成員時,必須添加模塊名作為前綴。

運行上面程序,可以看到如下輸出結果(sys 模塊下的 argv 變量用于獲取運行 Python 程序的命令行參數,其中 argv[0] 用于獲取該 Python 程序的程序名)。

import test.py

在導入整個模塊時可以為模塊指定別名。例如如下程序:

# 導入sys整個模塊,并指定別名為s
import sys as s
# 使用s模塊別名作為前綴來訪問模塊中的成員
print(s.argv[0])

第2行代碼在導入 sys 模塊時才指定了別名 s,因此在程序中使用 sys 模塊內的成員時,必須添加模塊別名 s 作為前綴。運行該程序,可以看到如下輸出結果:

import test2.py

使用導入整個模塊的語法也可一次導入多個模塊,多個模塊之間用逗號隔開。例如如下程序:

# 導入sys、os兩個模塊
import sys,os
# 使用模塊名作為前綴來訪問模塊中的成員
print(sys.argv[0])
# os模塊的sep變量代表平臺上的路徑分隔符
print(os.sep)

上面第 2 行代碼一次導入了 sys 和 os 兩個模塊,因此程序要使用 sys、os 兩個模塊內的成員,只要分別使用 sys、os 模塊名作為前綴即可。在 Windows 平臺上運行該程序,可以看到如下輸出結果(os 模塊的 sep 變量代表平臺上的路徑分隔符):

import test3.py
\

同時,在導入多個模塊時也可以為模塊指定別名,例如如下程序:

# 導入sys、os兩個模塊,并為sys指定別名s,為os指定別名o
import sys as s,os as o
# 使用模塊別名作為前綴來訪問模塊中的成員
print(s.argv[0])
print(o.sep)

上面第 2 行代碼一次導入了sys 和 os 兩個模塊,并分別為它們指定別名為 s、o,因此程序可以通過 s、o 兩個前綴來使用 sys、os 兩個模塊內的成員。在 Windows 平臺上運行該程序,可以看到如下輸出結果:

import_test4 .py
\

接下來介紹使用 from...import 導入模塊內指定成員的用法。下面程序使用 from...import 導入模塊成員的最簡單語法來導入指定成員:

# 導入sys模塊的argv成員
from sys import argv
# 使用導入成員的語法,直接使用成員名訪問
print(argv[0])

第 2 行代碼導入了 sys 模塊中的 argv 成員,這樣即可在程序中直接使用 argv 成員,無須使用任何前綴。運行該程序,可以看到如下輸出結果:

from import test.py

使用 from...import 導入模塊成員時也可為成員指定別名,例如如下程序:

# 導入sys模塊的argv成員,并為其指定別名v
from sys import argv as v
# 使用導入成員(并指定別名)的語法,直接使用成員的別名訪問
print(v[0])

第 2 行代碼導入了 sys 模塊中的 argv 成員,并為該成員指定別名 v,這樣即可在程序中通過別名 v 使用 argv 成員,無須使用任何前綴。運行該程序,可以看到如下輸出結果:

from import test2.py

在使用 form...import 導入模塊成員時也可同時導入多個成員,例如如下程序:

# 導入sys模塊的argv,winver成員
from sys import argv, winver
# 使用導入成員的語法,直接使用成員名訪問
print(argv[0])
print(winver)

上面第 2 行代碼導入了 sys 模塊中的 argv、 winver 成員,這樣即可在程序中直接使用 argv、winver 兩個成員,無須使用任何前綴。運行該程序,可以看到如下輸出結果(sys 的 winver 成員記錄了該 Python 的版本號):

from import test3.py
3.6

在使用 from...import 同時導入多個模塊成員時也可指定別名,同樣使用 as 關鍵字為成員指定別名,例如如下程序:

# 導入sys模塊的argv,winver成員,并為其指定別名v、wv
from sys import argv as v, winver as wv
# 使用導入成員(并指定別名)的語法,直接使用成員的別名訪問
print(v[0])
print(wv)

上面第 2 行代碼導入了 sys 模塊中的 argv、winver 成員,并分別為它們指定了別名 v、wv,這樣即可在程序中通過 v 和 wv 兩個別名使用 argv、winver 成員,無須使用任何前綴。

在使用 from...import 語法時也可一次導入指定模塊內的所有成員,例如如下程序:

#導入sys 棋塊內的所有成員
from sys import *
#使用導入成員的語法,直接使用成員的別名訪問
print(argv[0])
print(winver)

上面代碼一次導入了 sys 模塊中的所有成員,這樣程序即可通過成員名來使用該模塊內的所有成員。該程序的輸出結果和前面程序的輸出結果完全相同。

需要說明的是,一般不推薦使用“from 模塊 import”這種語法導入指定模塊內的所有成員,因為它存在潛在的風險。比如同時導入 module1 和 module2 內的所有成員,假如這兩個模塊內都有一個 foo() 函數,那么當在程序中執行如下代碼時:

foo()

上面調用的這個 foo() 函數到底是 module1 模塊中的還是 module2 模塊中的?因此,這種導入指定模塊內所有成員的用法是有風險的。

但如果換成如下兩種導入方式:

import module1
import module2 as m2

接下來要分別調用這兩個模塊中的 foo() 函數就非常清晰。程序可使用如下代碼:

#使用模塊module1 的模塊名作為前綴調用foo()函數
module1.foo()
#使用module2 的模塊別名作為前綴調用foo()函數
m2.foo()

或者使用 from...import 語句也是可以的:

#導入module1 中的foo 成員,并指定其別名為foo1
from module1 import foo as fool
#導入module2 中的foo 成員,并指定其別名為foo2
from module2 import foo as foo2

此時通過別名將 module1 和 module2 兩個模塊中的 foo 函數很好地進行了區分,接下來分別調用兩個模塊中 foo() 函數就很清晰:

foo1() #調用module1 中的foo()函數
foo2() #調用module2 中的foo()函數

看完上述內容,你們掌握怎么在python中引入文件的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

济南市| 都昌县| 白水县| 中方县| 宜川县| 彭水| 吕梁市| 肃宁县| 房山区| 都匀市| 阳山县| 宁德市| 九龙县| 安达市| 临澧县| 柯坪县| 四平市| 富民县| 峨山| 漳平市| 潢川县| 太白县| 朔州市| 宾阳县| 玛沁县| 张掖市| 廊坊市| 永和县| 明星| 玛纳斯县| 裕民县| 中江县| 新邵县| 修武县| 连云港市| 锡林郭勒盟| 晋宁县| 宁明县| 黄平县| 建德市| 安塞县|