簡體   English   中英

在多個文件中使用導入的模塊

[英]Using imported modules in more than one file

這個問題有點愚蠢,但我必須知道。 有什么辦法可以在其他導入的模塊中使用導入的模塊嗎?

我的意思是,如果我這樣做:

-主文件-

import os  
import othermodule  

othermodule.a()

-其他模塊-

def a():
  return os.path.join('/', 'example') # Without reimporting the os module

該文件無法識別os模塊。 有什么辦法可以“重用” os模塊嗎?

無需這樣做,Python僅加載一次模塊(除非您卸載它們)。

但是,如果您確實遇到模塊無法訪問標准庫的情況(需要解釋一下???),則可以簡單地訪問主模塊中的os模塊(例如mainfile.os ,模塊在導入時只是變量)進入模塊名稱空間)。

如果os模塊已經加載,則也可以使用sys.modules["os"]

您還必須將import os放在othermodule.py中(或者,如果“ main file”不需要os本身)。 這是一個功能; 這意味着othermodule不必關心“主文件”中的垃圾內容。 Python不會兩次為os讀取文件,因此不必擔心。

如果出於某種原因需要獲取主文件中的變量,則可以使用import __main__做到這一點,但這被認為是可以避免的事情。

如果需要在導入模塊后重新讀取模塊,則可能應該使用execfile而不是import

Python僅一次導入一個模塊。 任何后續的導入調用,只需訪問現有的模塊對象即可。

暫無
暫無

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

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