0
我目前正在製作一個Disocrd機器人,它的一個功能是非常快速的更新(以最大限度地減少停機時間)。爲此,在重新啓動腳本中,我們有代碼檢查是否掛載了一個usb,如果是,它上面的文件需要移動到bots文件夾中,然後更新bot。Python:根據名稱複製文件以設置位置
async def cmd_restart(self, channel):
await self.safe_send_message(channel, ":wave:")
await self.disconnect_all_voice_clients()
if os.path.exists(/dev/[usb ID]/Update.zip):
zip_ref = zipfile.ZipFile(/dev/[usb ID]/Update.zip, 'r')
zip_ref.extractall(/root/MusicBot/musicbot)
zip_ref.close()
raise exceptions.RestartSignal
問題是,隨着機器人的增長,文件已經遷移到多個文件夾中,並且此腳本不再執行該作業。 我們需要將文件提取到不同的位置,具體取決於它們被調用的內容。
例如'bot.py'會進入musicbot文件夾,而config.ini會進入config文件夾,並且它們會替換文件夾中的對應文件。
由於bot的特性,不會使用此創建新文件,只會替換現有文件。
請原諒我的散漫,解釋過於複雜。
感謝那些完美地工作 – DNA