2010-03-01 4 views
-1

Как я могу заставить программу проверить, находится ли она уже в целевых местоположениях, а если нет, переместитесь в другое место?Как переместить программу в другое место на Python?

+0

Скрипт или процесс? –

+0

Я не понимаю, зачем вам это нужно. не будет ли лучше, если вы поместите программу в нужное место в первую очередь? – ghostdog74

+0

программа, .exe – Shady

ответ

0

os.path.abspath(__file__) - это абсолютный путь к текущему местоположению текущего модуля (или основного сценария), а os.rename - способ перемещения файла (не к месту, где уже присутствует другой файл с таким же именем, d должен быть os.unlink последним первым).

+0

Я где-то читал, что os.path.abspath (__ file__) не будет работать должным образом с скомпилированными скриптами py2exe, это правда? – Shady

+0

@Shady, да, 'py2exe' меняет уравнение (вы должны указать в своем Q, если вы используете' py2exe'!). В этом случае вы можете посмотреть 'sys.argv [0]', и если он не содержит каталог, вам придется сканировать все каталоги на 'os.environ ['PATH']', чтобы найти его. –

0

Альтернатива os.path.abspath(__file__), которая работает с py2exe, - sys.executable. если вы скажете filename = sys.executable.rsplit('\\',1)[1] имя файла будет вашим именем. это работает, только если вы скомпилируете свои программы с помощью py2exe, хотя в противном случае он просто отобразит pythonw.exe или python.exe

Смежные вопросы