-1
我想創建一個程序,將自己複製到另一個目錄中以備後用。它在我的Windows 7機器上正常工作,但出於某種原因,我收到以下錯誤消息。os.rename移動一個文件
WindowsError: [Error 3] The system cannot find the path specified
我已經使用py2exe
將它編譯爲可執行文件。無論如何,這裏是我的代碼:
home = os.path.expanduser("~")
installPath = home + "\Logs"
copyPath = installPath + "\Keylogger.exe"
def installExe(copyPath):
if not os.path.exists(copyPath):
path = os.getcwd()
path = os.path.join(path, "Keylogger.exe")
os.rename(path, copyPath)
'os.path.join'是優選的,但''\ K''不是問題。沒有'\ K'轉義,所以Python將它保留在字符串文字中,就好像它被寫入''\\ K''一樣。問題可能是當前的工作目錄不存在Keylogger.exe存在的地方。 'sys.executable'應該是凍結可執行文件的絕對路徑。 – eryksun
'installExe'還需要處理'Keylogger.exe'不在目標捲上的情況。 Python在調用MoveFileEx時沒有指定'MOVEFILE_COPY_ALLOWED',所以'os.rename'在跨卷的情況下會失敗。 – eryksun