Python導(dǎo)入或執(zhí)行python源文件的3種方法
概要
本文介紹python中導(dǎo)入或執(zhí)行python源文件(通常是從另一個(gè)python源文件中)的幾種常用方法。包括import, exec(), os.system()等。
方法1:import
第一種方式是使用import。
比如說有一個(gè)文件hello_world.py,內(nèi)容如下:
helloWorldStr = 'Hello, welcome to python world!' def HelloWorld(): print('HelloWorld(): Hello, welcome to python world!') print('hello_world.py: HelloWorld(): Hello, welcome to python world!')
然后,在另一個(gè)python源文件(假定與hello_world.py在同一個(gè)文件夾)中import這個(gè)文件(每一格python源文件都被看做是一個(gè)Module)。python中import一個(gè)文件時(shí)不僅僅是把這個(gè)文件讀入而已,而是把它執(zhí)行了一次(除了 if __name__ == '__main__': 所限定的部分)。
import hello_world print(hello_world.helloWorldStr) hello_world.HelloWorld()
執(zhí)行后的結(jié)果如下所示:
hello_world.py: HelloWorld(): Hello, welcome to python world!
Hello, welcome to python world!
HelloWorld(): Hello, welcome to python world!
總共打印了三次。第一次是import時(shí)直接執(zhí)行hello_world.py中的打印語句。第二次是當(dāng)前文件中的print語句,其中直接利用了hello_world.py中定義的字符串變量。第三次是調(diào)用了hello_world.py中的定義的函數(shù)。
方法2:exec()
第二種方式是使用python內(nèi)置函數(shù)exec()。使用例如下:
with open('hello_world.py','r') as f: exec(f.read())
可以寫成更為簡潔的方式:
exec(open('hello_world.py','r').read())
以上兩種寫法等價(jià),運(yùn)行可得:
hello_world.py: HelloWorld(): Hello, welcome to python world!
方法3:os.system()
第三種方式是使用os.system()生成子進(jìn)程的方式,示例如下:
import os os.system('python hello_world.py')
運(yùn)行結(jié)果同上一節(jié)。
總結(jié)
到此這篇關(guān)于Python導(dǎo)入或執(zhí)行python源文件的3種方法的文章就介紹到這了,更多相關(guān)Python導(dǎo)入執(zhí)行python源文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python itertools庫高效迭代藝術(shù)實(shí)例探索
Python 中的?itertools?庫為迭代器操作提供了豐富的工具集,使得處理迭代對象變得更加高效和靈活,本篇文章將深入討itertools庫的常用方法,通過詳實(shí)的示例代碼演示其在解決各種問題中的應(yīng)用2024-01-01如何基于opencv實(shí)現(xiàn)簡單的數(shù)字識別
現(xiàn)在很多場景需要使用的數(shù)字識別,比如銀行卡識別,以及車牌識別等,在AI領(lǐng)域有很多圖像識別算法,大多是居于opencv 或者谷歌開源的tesseract 識別,下面這篇文章主要給大家介紹了關(guān)于如何基于opencv實(shí)現(xiàn)簡單的數(shù)字識別,需要的朋友可以參考下2021-09-09Python實(shí)現(xiàn)基本Socket服務(wù)端與客戶端通信的完整代碼
這篇文章主要介紹了Python實(shí)現(xiàn)基本Socket服務(wù)端與客戶端通信,分步詳解與完整代碼都有,按需所求即可,對Python Socket服務(wù)端與客戶端通信相關(guān)知識感興趣的朋友一起看看吧2023-06-06用Python+OpenCV對比圖像質(zhì)量的幾種方法
這篇文章主要介紹了用Python+OpenCV對比圖像質(zhì)量過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07使用gunicorn部署django項(xiàng)目的問題
這篇文章主要介紹了使用gunicorn部署django項(xiàng)目,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12numpy ndarray 按條件篩選數(shù)組,關(guān)聯(lián)篩選的例子
今天小編就為大家分享一篇numpy ndarray 按條件篩選數(shù)組,關(guān)聯(lián)篩選的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11