设置Python程序中的文件位置



我正在完成一个用Python编写的程序,以确保它是跨平台的。最后一个障碍是保存会话历史等持久数据。在Windows中,这些文件将保存在用户配置文件的AppDataLocal文件夹下,在MacOS中,嗯……我不知道,在Linux上…这取决于.

在这种情况下的最佳实践是什么?是否有一个库可以返回运行应用程序的平台的推荐的最佳实践位置?

基于@DarkKnight隐式确认没有Python模块返回基于每个平台的首选位置(并假设MacOS遵循Linux系统标准),我使用以下代码:

import sys
import os
def app_folder(prog: str) -> str:
def createFolder(directory):
try:
if not os.path.exists(directory):
os.makedirs(directory)
except OSError:
raise
if sys.platform == "win32":
folder = os.path.join(os.path.expanduser("~"), "AppData", "Local", prog)
createFolder(folder)
return folder
else:
folder = os.path.join(os.path.expanduser("~"), "." + prog)
createFolder(folder)
return folder

(注意:我可能不会承担硬编码/作为文件夹分隔符而不是使用os.path.join()的任何风险,因为它已经特定于每个平台,但我只是喜欢使用我可以重用的代码,甚至逐行。)

最新更新