最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python跨文件夾調(diào)用別的文件夾下py文件或參數(shù)方式詳解

 更新時(shí)間:2023年08月16日 11:19:17   作者:AI創(chuàng)世紀(jì)  
這篇文章主要給大家介紹了關(guān)于python跨文件夾調(diào)用別的文件夾下py文件或參數(shù)方式的相關(guān)資料,在python中有時(shí)候我們需要調(diào)用另一.py文件中的方法或者類,需要的朋友可以參考下

摘要:

本文章主要介紹了python運(yùn)行或調(diào)用另一個(gè)py文件或參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,請(qǐng)?zhí)岢鰜怼?/p>

第一章   運(yùn)行另一個(gè)py文件

(1)在file_A.py中運(yùn)行file_B.py文件,注意這里是運(yùn)行,不是引用

import os
os.system("python file_B.py para_a1 para_a2")
#其他形式
os.system("python file_B.py %s" % para_A)
os.system("python file_B.py " + para_A)

需要注意文件路徑的寫法,在docker中運(yùn)行文件,文件名前面需要加/,如os.system("python /file_B.py")

(2)file_B.py使用file_A.py傳遞的參數(shù)

import sys
print(sys.argv)
#由打印的結(jié)果可知,sys.argv[1:]是命令行傳遞的參數(shù),sys.argv[0]是命令行運(yùn)行的文件名
para_B = sys.argv[1]

(3) 引用另一個(gè)py文件中的變量或者方法

from file_A import df_A

第二章 python調(diào)用自己寫的py文件

(1)同一個(gè)目錄下的文件

同一個(gè)目錄下直接寫import xx就好了,xx為自己要調(diào)用的模塊名字,雖然會(huì)有下劃線報(bào)錯(cuò),其實(shí),沒有錯(cuò),仍然可以調(diào)用,這個(gè)下劃線可以忽略。

(2)不同目錄下的文件

不同路徑下的文件先要調(diào)用添加路徑sys.path.append(r"C:\xxx"),再做引用

import sys
#首先,添加路徑,windows的路徑和linux的路徑符號(hào)不同\\,/,注意區(qū)別
#r是為了告訴python這是路徑,別#把\n等特殊組合給轉(zhuǎn)譯)
sys.path.append(r"C:\xxx")
#下面import就可以了
import a
import b

(3)多個(gè)文件在多個(gè)目錄的調(diào)用

首先我們也可以多次寫sys.path.append(r"C:\xxx")來添加多個(gè)目錄,但是這樣有點(diǎn)麻煩,每次新建個(gè)工程可能就要加很多代碼去調(diào)用公共單元。

解決方法是添加一個(gè)空的__init__.py文件(用于定義包的屬性和方法,可以為空),表示這是一個(gè)包,比如這樣,聲明了aaa為一個(gè)包,a是內(nèi)部的方法。

也可以這樣,表示bbb是一個(gè)包,bb是bbb的子包,b是bb包的內(nèi)部的方法

如果你需要調(diào)用a.py與b.py:

import aaa.a
import bbb.bb.b
import ccc.c

如果你在c.py文件,想要調(diào)用a.py,b.py只需要用到步驟2的知識(shí)即可,比如 

import sys
#添加上級(jí)目錄
sys.path.append("..//")
import aaa.a
import bbb.bb.b

第三章 關(guān)于__init__.py的解釋 

__init__.py作用是將文件夾變?yōu)橐粋€(gè)Python模塊,導(dǎo)入包時(shí),事實(shí)上是導(dǎo)入了它的__init__.py文件

__init__.py 文件可以為空,但是也可以添加如下兩個(gè)功能

(1)初始化包中各個(gè)模塊,批量導(dǎo)入

pack包,配置__init__.py

1

2

import a

import b

導(dǎo)入pack包

訪問__init__.py文件中的引用文件,需要加上包名

(2)__init__.py中的__all__,全部導(dǎo)入所聲明的模塊

此時(shí)導(dǎo)入pack包就相當(dāng)于導(dǎo)入了a.py,b.py,c.py

pack包,配置__init__.py

1

__all__ = ['a', 'b', 'c']

調(diào)用

1

from pack import *

第四章 關(guān)于pyc與pyo文件

pyc就是py編譯時(shí)生成的字節(jié)碼文件,以后每次導(dǎo)入都會(huì)執(zhí)行pyc,當(dāng)py文件更新時(shí)pyc也會(huì)更新

如果解釋器添加-o命令,py編譯時(shí)會(huì)生成pyo文件,它相比pyc去掉了斷言(assert)、斷行號(hào)以及其他調(diào)試信息,運(yùn)行速度更快

如果使用-OO選項(xiàng),生成的pyo文件會(huì)忽略文檔信息

第五章 模塊導(dǎo)入時(shí)內(nèi)部的原理

(1)import可導(dǎo)入的對(duì)象可以是以下類型:

  • 模塊文件(.py文件)
  • C或C++擴(kuò)展(已編譯為共享庫或DLL文件)
  • 包(包含多個(gè)模塊)
  • 內(nèi)建模塊(使用C編寫并已鏈接到Python解釋器中)
  • 理解為后綴就是.py、.pyo、.pyc、.pyd、.so、.dll

(2)解釋器工作:

1.根據(jù)導(dǎo)入的文件名創(chuàng)建命名空間(用來訪問文件內(nèi)部屬性與方法)

2.在命名空間內(nèi)執(zhí)行源代碼

3.創(chuàng)建一個(gè)源代碼文件的對(duì)象,這個(gè)對(duì)象引用對(duì)應(yīng)的命名空間,管理模塊的內(nèi)部函數(shù)與變量

4.一個(gè)模塊可以多次導(dǎo)入,但是后面導(dǎo)入的模塊只執(zhí)行第三步

sys.modules可以打印出導(dǎo)入的模塊名與模塊對(duì)象的映射

(3)因此可以理解導(dǎo)入文件的三種方式:

  • import a.b:把a(bǔ).b導(dǎo)入全局命名空間,想要調(diào)用c方法需要a.b.c
  • from a import b:把b導(dǎo)入全局命名空間,b.c
  • from a.b import c:把b的屬性c直接導(dǎo)入命名空間

總結(jié) 

到此這篇關(guān)于python跨文件夾調(diào)用別的文件夾下py文件或參數(shù)方式的文章就介紹到這了,更多相關(guān)python跨文件夾調(diào)用py文件或參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python函數(shù)關(guān)鍵字參數(shù)及用法詳解

    Python函數(shù)關(guān)鍵字參數(shù)及用法詳解

    本文主要介紹了Python函數(shù)關(guān)鍵字參數(shù)及用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 詳解Python3序列賦值、序列解包

    詳解Python3序列賦值、序列解包

    這篇文章主要介紹了Python3序列賦值、序列解包的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • python爬蟲Mitmproxy安裝使用學(xué)習(xí)筆記

    python爬蟲Mitmproxy安裝使用學(xué)習(xí)筆記

    這篇文章主要介紹了python爬蟲Mitmproxy學(xué)習(xí)筆記分享,有需要的朋友可以收藏學(xué)習(xí)下,希望可以對(duì)你有所幫助,大家一起共同學(xué)習(xí),共同進(jìn)步
    2021-09-09
  • 對(duì)Python 獲取類的成員變量及臨時(shí)變量的方法詳解

    對(duì)Python 獲取類的成員變量及臨時(shí)變量的方法詳解

    今天小編就為大家分享一篇對(duì)Python 獲取類的成員變量及臨時(shí)變量的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python使用response.read()接收json數(shù)據(jù)的實(shí)例

    python使用response.read()接收json數(shù)據(jù)的實(shí)例

    今天小編就為大家分享一篇python使用response.read()接收json數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python 日志增量抓取實(shí)現(xiàn)方法

    python 日志增量抓取實(shí)現(xiàn)方法

    下面小編就為大家分享一篇python 日志增量抓取實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 使用Python requests實(shí)現(xiàn)Cookie登錄的全流程

    使用Python requests實(shí)現(xiàn)Cookie登錄的全流程

    這篇文章主要介紹了如何使用Python的requests庫自動(dòng)化登錄一個(gè)需要復(fù)雜鑒權(quán)的網(wǎng)站,并生成報(bào)表,作者詳細(xì)描述了登錄過程中遇到的幾個(gè)問題,包括CSRF token、重定向處理和Cookie的使用,并提供了詳細(xì)的代碼示例和解決方法,需要的朋友可以參考下
    2026-03-03
  • 關(guān)于numpy兩個(gè)array疊加操作詳解

    關(guān)于numpy兩個(gè)array疊加操作詳解

    numpy是Python用來科學(xué)計(jì)算的一個(gè)非常重要的庫,numpy主要用來處理一些矩陣對(duì)象,可以說numpy讓Python有了Matlab的味道,下面這篇文章主要給大家介紹了關(guān)于numpy兩個(gè)array疊加操作的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Python可視化神器pyecharts之繪制地理圖表練習(xí)

    Python可視化神器pyecharts之繪制地理圖表練習(xí)

    這篇文章主要介紹了Python可視化神器pyecharts之繪制地理圖表,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • 解決python3讀取Python2存儲(chǔ)的pickle文件問題

    解決python3讀取Python2存儲(chǔ)的pickle文件問題

    今天小編就為大家分享一篇解決python3讀取Python2存儲(chǔ)的pickle文件問題,具有很好的參考價(jià)值。希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評(píng)論

河东区| 宣威市| 高要市| 阿拉善右旗| 广元市| 亳州市| 辛集市| 海丰县| 响水县| 车险| 庆阳市| 宽甸| 三穗县| 奉化市| 牟定县| 广宁县| 昌都县| 永兴县| 英吉沙县| 保定市| 荆州市| 青龙| 邵阳市| 深水埗区| 横峰县| 禄丰县| 青龙| 鲜城| 和龙市| 奉新县| 江门市| 南涧| 鄂温| 库车县| 时尚| 新竹市| 江达县| 饶平县| 都安| 商南县| 贵南县|