Подтвердить что ты не робот

Почему мой питон не добавляет текущий рабочий каталог в путь?

Я продолжаю видеть сайты, говорящие о том, что каталог, который вы выполняете 'python', добавляется в путь python. Например, на http://www.stereoplex.com/blog/understanding-imports-and-pythonpath, автор cd в папку /tmp затем выполняет 'print (sys.path)' и lo and behold,/tmp отображается в списке путей. Вот я пробовал это в своей системе (с установкой 2.6.6):

Пример структуры:

app/
  mymodule.py
  inner_folder/
    myscript.py

в myscript.py содержит строку:

import 'mymodule.py'

что я сделал:

cd app
python inner_folder/myscript.py # ImportError

Поскольку я выполняю интерпретатор из каталога app/, не следует ли "app" помещаться на путь python? Вот как многие документы, которые я читал, указали, что поведение должно быть.

Пожалуйста, просветите!

(Я временно решил это, вручную добавив папку, которую я хочу в среду, но не хочу полагаться на нее навсегда. Поскольку многие сайты говорят, что это можно сделать, я хотел бы воспроизвести ее для себя)

4b9b3361

Ответ 1

Это каталог script, который добавляется, а не текущий каталог. Если вы превратите inner_folder/ в пакет, вы можете использовать python -m inner_folder.myscript, чтобы запустить script, добавив app/ к sys.path.

Ответ 2

Независимо от того, находится ли текущий каталог в sys.path, операторы импорта обычно выглядят следующим образом:

import mymodule

Код, который вы написали, выглядит так:

import 'mymodule.py'