我使用sqlite3
作为django的数据库。我现在正在学习,所以我想知道将文件名添加到现有路径的最佳方法。这个例子来自我的django settings.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
为了添加数据库文件的名称,我只是简单地添加了一个/
和文件的名称,在本例中是sqlite3DB.db
。我这样做,因为我在数据库设置上关注django tutorial pages。有更优雅的方式吗?一种更加pythonic的方式,因为它感觉我是硬编码的东西。任何帮助将不胜感激。
我还没有创建sqlite3DB.db
,因为在教程中它已经说过它将由django为我创建。
答案 0 :(得分:3)
不确定你有什么问题,但你可以直接使用os.path.join
和文件名来产生绝对路径
os.path.join(DB_NAME, 'sqlite3DB.db')
这是你在找什么?
答案 1 :(得分:0)
不确定你真正需要什么。如果它使用您已正确提及的路径加入文件名
DB_NAME = os.path.join(BASE_DIR, 'database')
如果它添加到系统路径,那么你可以做这样的事情
import sys
sys.path = ['/opt/test/'] + sys.path
如果你需要cd到目录..你可以做这样的事情
os.chdir(os.path.dirname(__file__))