Учитывая объект PasswordState, который реализует Serializable во всем дереве объектов, вы можете передать этот объект в работу пыльника, как в:
private void launchManagePassword() {
Intent i= new Intent(this, ManagePassword.class); // no param constructor
PasswordState outState= new PasswordState(lengthKey,timeExpire,isValidKey,timeoutType,"",model.getIsHashPassword());
Bundle b= new Bundle();
b.putSerializable("jalcomputing.confusetext.PasswordState", outState);
i.putExtras(b);
startActivityForResult(i,REQUEST_MANAGE_PASSWORD); // used for callback
}
from distutils.sysconfig import get_python_lib
print get_python_lib()
Дополнительное примечание к get_python_lib
функция, упомянутая уже: на некоторых платформах различные каталоги используются для платформы определенные модули (например: модули, которые требуют компиляции). Если Вы передаете plat_specific=True
функции, Вы получаете пакеты сайта для платформы определенные пакеты.
Как другие отметили, distutils.sysconfig
имеет соответствующие настройки:
import distutils.sysconfig
print distutils.sysconfig.get_python_lib()
..., хотя значение по умолчанию site.py
делает что-то немного более сырое, перефразируемое ниже:
import sys, os
print os.sep.join([sys.prefix, 'lib', 'python' + sys.version[:3], 'site-packages'])
(это также добавляет ${sys.prefix}/lib/site-python
и добавляет оба пути для sys.exec_prefix
также, должен что постоянный отличаться).
Однако каков контекст? Вы не должны смешивать с Вашим site-packages
непосредственно; setuptools/distutils будет работать на установку, и Ваша программа может работать в virtualenv, где Ваш pythonpath абсолютно локален для пользователя, таким образом, это не должно принимать использование системных пакетов сайта непосредственно также.
От , "Как Установить Django" документация (хотя это полезно для больше, чем просто установки Django) - выполняют следование из оболочки:
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
Отформатированный для удобочитаемости (а не использование в качестве остроты), который похож на следующее:
from distutils.sysconfig import get_python_lib
print(get_python_lib())
Примечание: предлагаемое решение ( distutils.sysconfig.get_python_lib ()
) не работает, когда существует более одного каталога пакетов сайтов (как ] рекомендовано этой статьей ). Он вернет только основной каталог site-packages.
Увы, лучшего решения у меня тоже нет. Python, похоже, не отслеживает каталоги пакетов сайтов, только пакеты в них.