개체 지향 프로그래밍을 사용하여 프로젝트를 시작했지만 경로에 대한 몇 가지 기본 규칙을 이해하는 데 어려움이 있습니다. 여기 Python 경로 규칙
내 프로젝트의 arborescence의 :의Project/
main.py
classes/
Database.py
database/
Project.db
main.py
import sys
sys.path.insert(0, 'classes/')
from Database import Database
Database.py는
import sys
sys.path.insert(0, '../database/')
import sqlite3
# in my Database class
def connect(self):
self.conn = sqlite3.connect('database/{}.db'.format(self.name))
self.c = self.conn.cursor()
인스턴스화 내가 main.py 파일의 인스턴스를 만들고 난 Database.py 파일에 아무것도 변경할 필요가 없습니다 다음을 실행하면
ProjectDatabase = Database('Project')
ProjectDatabase.connect()
Database.py에서 main.py VS.
그러나, 나는 Database.py 파일의 인스턴스를 만들고 나는이에 연결 방법을 변경해야 다음을 실행하는 경우 : 내가 그렇게해야하는 이유
def connect(self):
self.conn = sqlite3.connect('../database/{}.db'.format(self.name))
self.c = self.conn.cursor()
이해가 안와 main.py 파일에서 인스턴스화를하면 Database.py의 sys.path.insert() 명령을 변경하지 않아도됩니다 ... sys.path.insert ('database/') 대신?
내가 여기서 명확하게되기를 바란다. 나는 우리가 어떤 스크립트를 실행할 것인지에 따라 스크립트 내에서 경로를 작성하는 방법을 알지 못한다. 주요 프로그램.
설명해 주셔서 감사합니다.
https://docs.python.org/3/tutorial/modules.html#packages – jonrsharpe