[英]how do I import from a file if I don't know the file name until run time?
我想做這個:
from fileName import variableName
如果我硬編碼fileName沒有問題。 但我需要使用fileName作為字符串變量,這似乎不起作用。
問題的上下文是我正在嘗試創建一個以文件名作為參數的函數。 該函數從參數中給出的任何文件中導入variableName,然后返回variableName的值,該值將是一個列表。 參數中可能給出的每個文件只包含一個python語句,例如:
data = [xxxxx]
除了內容(xxxx)是幾千行之外。 只是將一個字符串或一個計算字符串的變量放入“from ...”語句的第二個單詞中就不會編譯。 我還嘗試構建一個包含整個語句然后執行eval(字符串)的字符串,但這也給出了“無效語法”。我怎么能這樣做呢?文檔說'from ...'語句不是編譯器指令但是在運行時評估,所以我認為這應該工作。
import importlib
fileName = ['a','b','c']
for file in fileName:
module = importlib.import_module(file)
data.append(module.variableName)
這相當於:
from a import variableName
from b import variableName
from c import variableName
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.