以绝对路径搁置数据库
Shelve Database in Absolute Path
In Python 3.6 我正在尝试在当前用户的主目录中创建一个名为 test.db
的数据库。目前,我正在使用 home = os.path.expanduser("~")
获取该目录(在导入 os
之后)。我的问题是,当我 运行 s = shelve.open(home + "/test")
时,它会在 /path/to/current/python/file/Users/USERNAME/test.db
中创建文件。有没有办法通过绝对路径搁置数据库,例如/Users/USERNAME/test.db
?另外,我可以让它跨平台吗? Windows 需要 shelve.open(home + "\test")
而 Mac/Linux 需要 shelve.open(home + "/test")
?谢谢。
要跨平台,请使用os.path.join()
加入路径
import os, shelve
path = os.path.join(os.path.expanduser("~"), 'test')
shelve.open(path)
In Python 3.6 我正在尝试在当前用户的主目录中创建一个名为 test.db
的数据库。目前,我正在使用 home = os.path.expanduser("~")
获取该目录(在导入 os
之后)。我的问题是,当我 运行 s = shelve.open(home + "/test")
时,它会在 /path/to/current/python/file/Users/USERNAME/test.db
中创建文件。有没有办法通过绝对路径搁置数据库,例如/Users/USERNAME/test.db
?另外,我可以让它跨平台吗? Windows 需要 shelve.open(home + "\test")
而 Mac/Linux 需要 shelve.open(home + "/test")
?谢谢。
要跨平台,请使用os.path.join()
加入路径
import os, shelve
path = os.path.join(os.path.expanduser("~"), 'test')
shelve.open(path)