Python 应用程序数据路径Mac

Python 应用程序数据路径Mac,python,macos,python-2.7,python-3.x,Python,Macos,Python 2.7,Python 3.x,我已经创建了一个在windows上运行良好的Python程序,但现在我把它带到我的苹果Mac上进行测试。该应用程序有一个sqlite数据库,我还有两个错误日志文件,它们在安装应用程序或从源代码初始化应用程序时保存在其中 在windows平台上,为了定义数据库路径,我使用了以下命令: appDataPath = os.environ["APPDATA"] + "\\FOLDERNAME\\" 但在我的mac电脑上,我得到以下堆栈跟踪: Traceback (most recent call la

我已经创建了一个在windows上运行良好的Python程序,但现在我把它带到我的苹果Mac上进行测试。该应用程序有一个sqlite数据库,我还有两个错误日志文件,它们在安装应用程序或从源代码初始化应用程序时保存在其中

在windows平台上,为了定义数据库路径,我使用了以下命令:

appDataPath = os.environ["APPDATA"] + "\\FOLDERNAME\\"
但在我的mac电脑上,我得到以下堆栈跟踪:

Traceback (most recent call last):
  File "main.py", line 9, in <module>
    from view import tick
  File "/Users/myname/Desktop/APPNAME/view/tick.py", line 8, in <module>
    from controller import get
  File "/Users/myname/Desktop/APPNAME/controller/get.py", line 4, in <module>
    appDataPath = os.environ["/Users/myname/Desktop"] + "\\FOLDERNAME\\"
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/UserDict.py", line 23, in __getitem__
    raise KeyError(key)
KeyError: '/Users/myname/Desktop'
我能做些什么来让它工作?我试着把它改到我的桌面位置,但仍然没有乐趣。mac在哪里存储应用程序数据?在Windows上,如您所知,位于漫游目录中

提前感谢

os.environ是一本包含环境变量的字典。没有名为/Users/myname/Desktop的变量。这就是为什么你会得到一个键错误。但是有一个变量叫做HOME

这在windows和OSX上应该同样有效

现在,如果要连接路径,应使用os.path.join:


您正试图在os.environ中查找文本字符串/Users/myname/Desktop。这不是环境变量的名称。此外,斜杠是向后\\Foldername\\。使用os.path.join。
>>> os.environ['HOME']
'/Users/NAME/'
>>> os.path.join(os.environ['HOME'], 'MYPROJECT')
'/Users/NAME/MYPROJECT'