Да, этот вопрос задан раньше. Нет, это не отвечало на мой вопрос удовлетворительно. Итак, я сначала создаю программу Giraffe на Python (не спрашиваю), и я пытаюсь заставить пользователя назвать жирафа.Вызов функции из другого файла в Python
Мои файлы находятся в одной упаковке под названием code
. В файле Main_Code
функция createGiraffe
вызывается от code.Various_Functions
. Вот мой код.
import code
print("Welcome to The Animal Kingdom.")
userGiraffe = code.Various_Functions.createGiraffe()
И код в code.Giraffes:
import code
def createGiraffe():
print("Name your giraffe.")
GiraffeName = input()
return GiraffeName
Однако, когда я бегу Main_Code, это дает мне эту ошибку:
Traceback (most recent call last):
File "C:\Users\Jonathan\Documents\Aptana Studio 3 Workspace\The Animal Kingdom\src\code\Main_Code.py", line 3, in <module>
userGiraffe = code.Giraffes.Giraffes.createGiraffe()
AttributeError: 'module' object has no attribute 'Giraffes'
Как это исправить? Я считаю, что я сделал все по книге. Все они используют один и тот же пакет, поэтому я могу вызвать функцию, я вызываю ее из нужного места, а функция не имеет синтаксических ошибок. Может кто-нибудь помочь с этим?
Почему код в traceback отличается от кода, который вы указали в вашем запросе? Один из них - «code.Various_Functions.createGiraffe()», другой - «code.Giraffes.Giraffes.createGiraffe()». И почему бы не просто «code.Giraffes.createGiraffe()»? – jonrsharpe
Да, это был беспорядок. Я скопировал неправильную ошибку. След должен быть code.Various_Functions.createGiraffe(), который создает такую же точную ошибку. –