2

我正在sqlite3用作 django 的数据库。我现在正在学习,所以我想知道将文件名添加到现有路径的最佳方法。这个例子来自我的 djangosettings.py文件:

BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))  # Creating base directory
DB_NAME = os.path.join(BASE_DIR, 'database')                                    # Adding database name
if os.sep != '/':                                                               # For all cases (bullet-proofing)
    DB_NAME.replace(os.sep, '/')                                                # replacing
DB_NAME += (os.sep + 'sqlite3DB.db')                                            # Adding file name manually

为了添加数据库文件的名称,我只是简单地添加了 a/和文件的名称,在这种情况下是sqlite3DB.db. 我这样做是因为我正在关注 Database Setup 中的django教程页面。有没有更优雅的方式来做到这一点?一种更 Pythonic 的方式,因为感觉就像我在硬编码东西。任何帮助将非常感激。

我还没有创建sqlite3DB.db,因为在教程中已经说过它将由 django 为我创建。

4

2 回答 2

3

不确定你有什么问题,但你可以os.path.join直接使用文件名来生成绝对路径

os.path.join(DB_NAME, 'sqlite3DB.db')

是你要找的吗?

于 2013-04-05T16:53:35.390 回答
0

不确定你真正需要什么。如果它使用您已经正确提及的路径加入文件名

DB_NAME = os.path.join(BASE_DIR, 'database')

如果它添加到系统路径,那么你可以做这样的事情

import sys
sys.path = ['/opt/test/'] + sys.path

如果你需要 cd 到目录..你可以做这样的事情

os.chdir(os.path.dirname(__file__))
于 2013-04-05T16:59:30.907 回答