905 Stimmen

Wie importiert man die Klasse innerhalb desselben Verzeichnisses oder Unterverzeichnisses?

Ich habe ein Verzeichnis, in dem alle .py Dateien.

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

Ich möchte die Klassen von benutzer.py y dir.py en main.py .
Wie kann ich diese Python-Klassen in main.py ?
Außerdem, wie kann ich die Klasse User wenn benutzer.py in einem Unterverzeichnis liegt?

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

4voto

stingMantis Punkte 192

Ich bin nicht sicher, warum das funktioniert, aber mit Pycharm bauen from file_in_same_dir import class_name

Die IDE hat sich darüber beschwert, aber es scheint trotzdem zu funktionieren. Ich verwende Python 3.7

1voto

Iceberg Punkte 1720

Für python3

importieren von sibling: from .user import User
importieren von nephew: from .usr.user import User

1voto

kobako Punkte 586

Wenn Sie eine filename.py im selben Ordner, können Sie sie einfach wie folgt importieren:

import filename

Ich verwende Python 3.7

0voto

icharis Punkte 171

Python3

verwenden.

from .user import User inside dir.py file

y

use from class.dir import Dir inside main.py
or from class.usr import User inside main.py

so

0voto

Andreas Klein Punkte 1
# 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!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X