Como mover o próprio programa para outro local em Python?
Pergunta
Como posso fazer o programa verificar se já está nos locais direcionados e, se não, se mover para outro local?
Solução
os.path.abspath(__file__)
é o caminho absoluto para o local atual do módulo atual (ou o principal script) e os.rename é uma maneira de mover um arquivo (não para um local onde outro arquivo de mesmo nome já esteja presente; você teria que os.unlink
o último primeiro).
Outras dicas
Uma alternativa a os.path.abspath(__file__)
que funciona com py2exe é sys.executable
. Se você diz filename = sys.executable.rsplit('\\',1)[1]
O nome do arquivo seria o nome dos seus arquivos. Isso só funciona se você compilar seus programas com py2exe, pois, caso contrário, ele apenas exibirá pythonw.exe ou python.exe
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow