簡體   English   中英

Python調用一個模塊

[英]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_PATHsys.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.

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