Как я храню данные настольного приложения кросс-платформенным способом к Python?

dot -Tps input.dot > output.eps
dot -Tpng input.dot > output.png

Вывод PostScript выглядит всегда. Я не уверен, что точка имеет вывод PNG по умолчанию. Это может зависеть от того, как вы его построили.

40
задан rahul 6 July 2009 в 06:48
поделиться

2 ответа

Well, I hate to have been the one to answer my own question, but no one else seems to know. I'm leaving the answer for posterity.

APPNAME = "MyApp"
import sys
from os import path, environ
if sys.platform == 'darwin':
    from AppKit import NSSearchPathForDirectoriesInDomains
    # http://developer.apple.com/DOCUMENTATION/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html#//apple_ref/c/func/NSSearchPathForDirectoriesInDomains
    # NSApplicationSupportDirectory = 14
    # NSUserDomainMask = 1
    # True for expanding the tilde into a fully qualified path
    appdata = path.join(NSSearchPathForDirectoriesInDomains(14, 1, True)[0], APPNAME)
elif sys.platform == 'win32':
    appdata = path.join(environ['APPDATA'], APPNAME)
else:
    appdata = path.expanduser(path.join("~", "." + APPNAME))
42
ответ дан 27 November 2019 в 01:44
поделиться

Что ж, для Windows APPDATA (переменная среды) указывает на папку "Application Data" пользователя. Однако не уверен насчет OSX.

Правильный способ, на мой взгляд, - делать это для каждой платформы.

0
ответ дан 27 November 2019 в 01:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: