在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")
?感谢。
答案 0 :(得分:1)
要使其跨平台,请使用os.path.join()
加入路径
import os, shelve
path = os.path.join(os.path.expanduser("~"), 'test')
shelve.open(path)