2010-03-01 32 views
-1

如何讓程序驗證它是否已經位於目標位置,如果沒有,請將其移動到另一個位置?如何將程序本身移動到Python中的另一個位置?

+0

腳本或進程? – 2010-03-01 04:44:44

+0

我不明白你爲什麼需要這樣做。如果你把程序放在正確的位置,不是更好嗎? – ghostdog74 2010-03-01 05:10:54

+0

該程序,.exe – Shady 2010-03-01 05:12:09

回答

0

os.path.abspath(__file__)是當前模塊(或主腳本)當前位置的絕對路徑,os.rename是一種移動文件的方法(不是已經存在另一個同名文件的位置;但是, d後面的第一個是os.unlink)。

+0

我在某處讀過os.path.abspath(__ file__)將無法正確使用py2exe編譯的腳本,這是真的嗎? – Shady 2010-03-01 18:41:18

+0

@Shady,是的,'py2exe'改變了方程式(如果你使用'py2exe',你應該在你的Q中提及!)。在這種情況下,你可以查看'sys.argv [0]',如果它不包含目錄,你必須掃描'os.environ ['PATH']'上的所有目錄才能找到它。 – 2010-03-02 00:54:42

0

與py2exe一起使用的os.path.abspath(__file__)的替代方法是sys.executable。如果你說filename = sys.executable.rsplit('\\',1)[1] 文件名將是你的文件名。這隻適用於如果你用py2exe編譯你的程序,否則它只會顯示pythonw.exe或python.exe

相關問題