Вы можете использовать веб-инструменты FontSquirrel для этого: http://www.fontsquirrel.com/fontface/generator
Это - соответствующий PEP:
http://www.python.org/dev/peps/pep-0328/
, В частности, предполагая dirFoo является каталогом от dirBar...
В dirFoo\Foo.py:
from ..dirBar import Bar
Если Вы структурируете свой проект этот путь:
src\
__init__.py
main.py
dirFoo\
__init__.py
Foo.py
dirBar\
__init__.py
Bar.py
Тогда от Foo.py необходимо быть в состоянии сделать:
import dirFoo.Foo
Или:
from dirFoo.Foo import FooObject
На комментарий Tom, это действительно требует, чтобы src
папка была доступна или через site_packages
или Ваш путь поиска. Кроме того, как он упоминает, __init__.py
неявно импортируется, когда Вы сначала импортируете модуль в том пакете/каталоге. Обычно __init__.py
просто пустой файл.
Вы могли также добавить подкаталог к своему пути Python так, чтобы это импортировало как нормальный сценарий.
import sys
sys.path.insert(0, <path to dirFoo>)
import Bar
Убедитесь, что dirBar имеет __init__.py
файл - это превращает каталог в пакет Python.
Самый легкий метод должен использовать sys.path.append ().
Однако можно также интересоваться импорт модуль. Это обеспечивает доступ к внутренним функциям импорта.
# mod_name is the filename without the .py/.pyc extention
py_mod = imp.load_source(mod_name,filename_path) # Loads .py file
py_mod = imp.load_compiled(mod_name,filename_path) # Loads .pyc file
Это может привыкнуть к загрузочным модулям динамично, когда Вы не знаете имя модуля.
я использовал это в прошлом для создания сменного интерфейса типа к приложению, где пользователь записал бы сценарий со специализированными функциями, и просто отбросить их сценарий в определенном каталоге.
кроме того, эти функции могут быть полезными:
imp.find_module(name[, path])
imp.load_module(name, file, pathname, description)
Добавьте файл __init__.py:
dirFoo\
Foo.py
dirBar\
__init__.py
Bar.py
Затем добавьте этот код в начало Foo.py:
import sys
sys.path.append('dirBar')
import Bar