Chciałbym fragment kodu, który pobiera właściwy katalog dla danych aplikacji (pliki konfiguracyjne itp.) Na wszystkich platformach (przynajmniej Win/Mac/Linux). Na przykład:% APPDATA%/w systemie Windows.Python: Pobieranie folderu AppData na wiele platform
8
A
Odpowiedz
0
Polecam badanie lokalizacji "appdata" w systemach operacyjnych, w których chcesz korzystać z tego programu. Gdy znasz już lokalizacje, które możesz łatwo użyć, jeśli instrukcje wykrywają os i do_something().
import sys
if sys.platform == "platform_value":
do_something()
elif sys.platform == "platform_value":
do_something()
- systemowe: platform_value
- Linux (2.x oraz 3.x): 'linux2'
- Windows: 'win32'
- Windows/Cygwin: '' Cygwin
- Mac OS X: 'Darwin'
- OS/2: 'OS2'
- OS/2 EMX: 'os2emx'
- Riscos:
- Atheos 'Riscos':
Lista 'Atheos' wynosi od the official Python docs. (Wyszukaj 'sys.platform')
7
Jeśli nie masz nic przeciwko używaniu appdirs module, powinno to rozwiązać twój problem. (cost = musisz zainstalować moduł lub dołączyć go bezpośrednio do aplikacji Python.)
Całkiem pewne, że działa tylko w systemie Windows. Chcę mieć platformę crossową :) – user1438098
Python polega na rozproszeniu rzeczy we wspólnych bibliotekach; dlaczego nie ma wspólnej funkcji, aby to zrobić? –
else if? Python ma elif! I nieważne cytaty. Będę edytować odpowiedź ... – les