簡體   English   中英

是否有像Python導出的東西?

[英]Is there anything like Python export?

我們一直使用python的導入機制來導入模塊和變量以及其他東西。但是,有什么可以作為導出工作嗎? 喜歡:

我們從一個模塊導入東西:

from abc import *

那么我們可以出口嗎?:

to xyz export *

或者將a,b,c導出到program.py

我知道這個問題不是這里要問的典型問題..但只是好奇心..我檢查了python控制台,並沒有任何存在的'導出'..也許它存在一些不同的名稱。 。?

首先,導入要導出內容的模塊,以便引用它。 然后將要導出的內容指定為模塊的屬性:

# to xyz export a, b, c
import xyz
xyz.a = a
xyz.b = b
xyz.c = c

要進行通配符導出,可以使用循環:

# to xyz export *
exports = [(k, v) for (k, v) in globals().iteritems() if not k.startswith("_")]
import xyz
for k, v in exports: setattr(xyz, k, v)

(請注意,我們導入模塊之前收集要導出的對象列表,這樣我們就可以避免將引用導出到我們剛導入的模塊中。)

這基本上是猴子修補的一種形式。 它有它的時間和地點。 當然,為了使它工作,執行“導出”的模塊必須自己執行; 簡單地導入將要修補的模塊不會神奇地意識到某些其他代碼會修補它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM