[英]Python calling a module
我試圖調用模塊,但有些原因它給我錯誤。 data.py包含一個項目列表,在main.py我試圖迭代和打印項目。但我得到以下錯誤。
錯誤
Import error: No module named Basics
data.py和main.py都位於c:/ python27 / basics /
data.py
bob={'name':'bobs mith','age':42,'salary':5000,'job':'software'}
sue={'name':'sue more','age':30,'salary':3000,'job':'hardware'}
people=[bob,sue]
main.py
from Basics import data
if __name__ == '__main__':
for key in people:
print(key, '=>\n ', people[key])
如果我只提供導入數據,那么我得到以下錯誤
名稱錯誤:未定義名稱“人員”。
更新:
新代碼:
from Basics import data
if __name__ == '__main__':
for key in data.people:
print(key, '=>\n ', data.people[key])
TypeError:list indices必須是整數,而不是dict
您將需要在Basics目錄中使用__init__.py
.
和
您需要在PYTHON_PATH
或sys.path
擁有該目錄
要使用人,您需要執行其中任何一項操作。
from Basics.data import people
要么
from Basics import data
print data.people
你在c:/python27/basics/
做了__init__.py
嗎?
此外,將導入Basics
的情況與目錄basics
的情況相匹配也是一種好習慣。 我覺得在Windows上並不重要,但肯定會在unix下。
對於第二部分,“people”對象是包含兩個詞典的列表。 所以你想這樣做:
for person in people:
for key in person:
print(key, '=>\n ', person[key])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.