-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