我有一个存放所有.py文件的目录。

bin/
   main.py
   user.py # where class User resides
   dir.py # where class Dir resides

我想在main.py中使用user.py和dir.py中的类。 如何将这些Python类导入main.py? 此外,如果User .py在子目录中,我如何导入User类?

bin/
    dir.py
    main.py
    usr/
        user.py

当前回答

我刚刚了解到(感谢martineau的评论),为了从同一目录中的文件导入类,你现在可以在Python 3中写道:

from .user import User
from .dir import Dir

其他回答

我不知道为什么这个工作,但使用Pycharm构建从file_in_same_dir导入class_name

IDE抱怨它,但它似乎仍然工作。我使用的是Python 3.7

在main.py中:

from user import Class

其中Class是要导入的类的名称。

如果你想调用Class的一个方法,你可以使用:

Class.method

注意,在同一目录下应该有一个空的__init__.py文件。

从同一目录导入

from . import the_file_you_want_to_import 

要从目录应包含的子目录导入

init.py

那就别写你的文件了

从目录导入your_file

对于python3

from .user import用户 从侄子导入:从。usr。user import用户

# My Python version: 3.7
# IDE: Pycharm 2021.1.2 Community

# Have "myLib" in folder "labs":

class Points:
    def __init__(self, x = 0, y = 0):
        self.__x = x
        self.__y = y
    def __str__(self):
        return f"x = {self.__x}, y = {self.__y}"

# Have "myFile" in (same) folder "labs":

from myFile import Point

p1 = Point(1, 4)
p2 = Point(1, 4)
print(f"p1: {p1}, p2: {p2}")

# Result:
# p1: x = 1, y = 4, p2: x = 1, y = 4

# Good Luck!