2013-04-16 39 views
0

我正在編寫一些需要一些常用信息的腳本,因此我決定在python格式中編寫該信息並將其作爲模塊導入。但是,我的腳本現在拒絕承認所有項目。從模塊Python導入數據時出錯

如果我使用dir(sumFile)(其中sumFile是我稱爲模塊的方式)查看模塊的內容,我會得到以下列表。

['Cell', 'Isotope', 'Material', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'cellList', 'curCell', 'curMat', 'file', 'libStartNum', 'matList', 'orMode', 'power', 'stepList', 'takenTallyList'] 

其中細胞,同位素和材料全部課程,並cellList到底是變量

現在,應該在那裏被稱爲「指數」的項目,但它不是。這裏是模塊的snipit:

# 4. ASSORTED FILE INFORMATION 
# Index of 2nd Blank Line: 
index = '47' 

# Original File Name: 
file = 'sample.txt' 

# Taken Tally Numbers: 
takenTallyList = [ 
] 

# Origen Type: 
orMode = 'thermal' 

# XS Lib Start Num: 
libStartNum = '219' 

所以我們可以看到,它讀取文件,takenTallyList,orMode和libStartNum,就好了,但拒絕讀取的索引。

由於提前,

+0

當你寫'module'時,你的意思是模塊是單個文件還是包 - 一個包含'__init __。py'文件的目錄?另外,你的模塊是否有一個'__all__'條目? (這是這個模塊允許從外部導入的列表。) – Tony

+0

它只是一個文件,而不是一個包。有沒有'__all__'條目的任何地方,如果有?格式 – wnnmaw

+0

不,如果沒有這樣的條目,那麼所有東西都應該是可導入的......但是你可以嘗試將它定義爲''__all__ = ['index']''看看dir()行爲會發生什麼。 – Tony

回答

0

哪些對象是在模塊中可訪問在其__init__.py定義。 如果index在模塊內的包中聲明並且未明確公開,則不可訪問。