【问题标题】:How do I import my own object in vs studio code?如何在 vs studio 代码中导入自己的对象?
【发布时间】:2021-02-14 20:05:29
【问题描述】:

我正在尝试导入为我的通讯录程序创建的 Human 对象,并且我在 VS Studio Code 中执行此操作,但它给了我一个错误:

Import "Human" could not be resolved

我尝试用 pycharm 制作程序,它导入得很好,我什至完成了程序。在寻找 VS Studio Code 版本的解决方案时,我发现了一些东西,比如添加

"python.autoComplete.extraPaths": ["./**"],

到我的 settings.json 和我在谷歌上找到的其他一些东西,但没有任何帮助。

VS Studio 代码:

from Human import Human
#from Contact_Book_Project.Human import Human # auto generated, Not sure how it is different but i do have these 2 classes in a folder called Contact_Book_Project

book = []

def main():
    while (True):

        choice = int(input("Press 1 to add someone to your Contact Book\n2 to remove someone from the book\n3 to find someone\n4 to list everyone\n5 to exit\n"))

        if (choice == 5):
            break
        elif (choice == 1):
            name = input("Name: ")
            phoneNum = input("Phone Number: ")
            address = input("Address: ")

            person = Human(name, phoneNum, address)

            addPerson(person)

def addPerson(person):
    book.append(person)

if __name__ == "__main__":
    main()
class Human:
    def __init__(self, name, phone_Number, address):
        self.Name = name
        self.Phone_Number = phone_Number
        self.Address = address

    def getName(self):
        return self.Name

    def getPhoneNumber(self):
        return self.Phone_Number

    def getAddress(self):
        return self.Address

PyCharm 代码:​​

from Human import Human

book = []


def main():
    while (True):

        try:
            choice = int(input(
                "Press 1 to add someone to your Contact Book\n2 to remove someone from the book\n3 to find someone\n4 to "
                "list everyone\n5 to exit\n"))

            if (choice == 5):
                break

            elif (choice == 1):
                name = input("Name: ")
                phoneNum = input("Phone Number: ")
                address = input("Address: ")

                person = Human(name, phoneNum, address)

                addPerson(person)

            elif (choice == 2):
                name = input("Enter name of person to remove: ")

                temp = 0
                for i in book:
                    if i.getName() == name:
                        book.pop(temp)
                        print(i.getName() + " removed.")
                        break

                    temp += 1

#            elif (choice == 3):
#                name = input("Enter name of person to check if they are in your contact book and retrieve their "
#                             "information: ")
#
#                if name in book:
#                    temp = book.__getitem__(name)
#                    print(
#                        "Name: " + temp.getName() + "\nPhone Number: " + temp.getPhoneNumber() + "\nAddress: " + temp.getAddress())
#                else:
#                    print(name + " does not exist in your contact book.")

            elif (choice == 4):
                for p in book:
                    print(
                        "Name: " + p.getName() + "\nPhone Number: " + p.getPhoneNumber() + "\nAddress: " + p.getAddress() + "\n")

        except ValueError:
            print("\nInvalid input.\n")

def addPerson(person):
    book.append(person)

if __name__ == '__main__':
    main()

两者都使用相同的 Human 类。我怎样才能解决这个问题?为什么它在 VS Studio 中抛出错误,但在 Pycharm 中工作?

【问题讨论】:

    标签: python visual-studio python-import importerror


    【解决方案1】:

    也许尝试将 VS Code 定向到 Human 模块的确切位置:

    import sys
    sys.path.append('file path to Human.py') # Add file path to 'Human.py' here
    from Human import Human
    

    【讨论】:

    • 嘿,感谢它部分工作,因为现在程序中的工作方式与在 Pycharm 中的工作方式相同,但现在该行中的第一个 Human 下方有一条黄色波浪线:从 Human 导入 Human。这给了我与以前相同的错误消息,但运行良好。有什么办法解决吗?
    • 所以我想说的是,它现在在 VS Studio 中的工作方式与在 Pycharm 中的工作方式相同,但仍然显示相同的错误消息。不知道为什么。
    • @TheDasher 那么代码现在可以工作了吗?我不确定波浪线问题,也许this 会有所帮助?
    猜你喜欢
    • 2020-07-09
    • 1970-01-01
    • 2019-06-19
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 2021-12-29
    相关资源
    最近更新 更多