Если вы не возражаете против стука файла:
from myproject.folder import file
Если вы хотите сделать файл более коротким:
import myproject.folder.file as f
Вы могли бы создать свой собственный оператор импорта, если вы действительно хотели:
head = 'myproject.folder.'
def my_import(name,*args,**kwargs):
try:
return __import__(name, *args, **kwargs)
except ImportError:
return __import__(head+name, *args, **kwargs)
file = my_import('file')
Вы также можете быть откровенным злом и взломать встроенный оператор импорта python:
head = 'myproject.folder.'
_import = __import__ # don't clobber __import__ yet
def my_import(name,*args,**kwargs):
try:
return _import(name,*args,**kwargs)
except ImportError:
return _import(head+name, *args, **kwargs)
__builtins__.__import__ = my_import # God just killed a maintainer
# elsewhere, after the above abomination has run:
import file # I hope you are happy.
На самом деле, я преувеличиваю зло, из-за которого стучат встроенные функции. Это не так уж плохо. Но это немного волосато.