python怎么用switch,Python 能开发任天堂Switch应用??奉上教程!
用Python開發Switch程序,在你的Switch上運行Python代碼,你需要用到一個名為PyNX的開源工具,操作流程如下:
1.用讀卡器將SD卡插入開發設備(電腦or筆記本)中
2.將PyNX的Zip版本的內容復制到SD卡的/switch目錄下
3.編輯main.py文件, 將你的代碼邏輯寫入該文件中
4.將SD卡插入Switch
5.在Homebrew菜單中運行PyNX
聽起來挺簡單,不過其中第5步的Homebrew菜單你需要通過特殊的方法來打開,這里不過多描述,請閱讀這篇文章:https://switch.homebrew.guide/
1.準備
開始之前,你要確保Python和pip已經成功安裝在電腦上噢,如果沒有,請訪問這篇文章:超詳細Python安裝指南進行安裝。
如果你用Python的目的是數據分析,可以直接安裝Anaconda:
當然,我更推薦大家用VSCode編輯器,寫代碼可愜意了:Python 編程的最好搭檔—VSCode 詳細指南。
按照流程,接下來你需要下載源代碼的Zip版本:https://github.com/nx-python/PyNX/archive/master.zip
無法下載請在Python實用寶典公眾號后臺回復:Switch獲取網盤鏈接。
解壓后將其復制到SD卡的/switch目錄下。
2.編寫簡單的備份工具
接下來就可以編寫該源代碼中的main.py文件了,這個就是我們DIY程序的主要代碼。
首先,需要導入一些庫以開始在我們的自制應用程序上工作,主要用到了作者的nx包。此外,我們還想向用戶顯示選擇菜單,因此我們也應該導入AnsiMenu:
import?nxfrom nx.utils import AnsiMenu
接下來,創建常量來存儲《塞爾達傳說:狂野的呼吸》和《超級馬里奧·奧德賽》的名稱ID:
#?title?IDs?are?hexadecimal?numbersBOTW_TITLE_ID?=?0x01007EF00011E000SMO_TITLE_ID = 0x0100000000010000
創建兩個列表,將其用于菜單欄。用戶可以選擇的標題名稱在中title_name。title_ids用于以相同順序存儲游戲ID:
title_names?=?["The?Legend?of?Zelda?-?Breath?of?the?Wild",?"Super?Mario?Odyssey"]title_ids = [BOTW_TITLE_ID, SMO_TITLE_ID]
設置完列表后就可以使用AnsiMenu實用程序類創建菜單。此菜單將允許用戶選擇將保存數據備份的游戲名稱:
select_title_menu = AnsiMenu(title_names)
每個Python程序的主要執行流程最好進行如下包裝:
if?__name__?==?'__main__':
現在可以使用其query方法呈現查詢菜單:
selected_index?=?select_title_menu.query()
該query方法返回用戶選擇的索引(index),該索引現在存儲在selected_index變量中。由于我們先前創建的兩個列表的順序相等,因此我們可以使用索引從title_ids列表中獲取游戲ID :
selected_title_id = title_ids[selected_index]
selected_title_id現在包含所選的游戲ID?,F在,我們可以使用此游戲ID創建一個功能Title對象:
selected_title?=?nx.titles[selected_title_id]
現在,我們需要備份所選擇的游戲數據。為此,我們需要掛載游戲的savedata。這需要通過selected_title對象的savedata來完成:
with?selected_title.savedata?as?savedata:savedata.backup()
這將創建數據備份 /backups/savedata/{title_id}/。當然你還可以提供自己的備份路徑,如下所示:
with selected_title.savedata as savedata:savedata.backup('/savedata_backups/{}/'.format(title_names[selected_index]))
完整代碼如下:
import?nxfrom?nx.utils?importAnsiMenu#?title?IDs?are?hexadecimal?numbersBOTW_TITLE_ID?=0x01007EF00011E000SMO_TITLE_ID?=0x0100000000010000title_names?=["The?Legend?of?Zelda?-?Breath?of?the?Wild","Super?Mario?Odyssey"]title_ids?=[BOTW_TITLE_ID,?SMO_TITLE_ID]select_title_menu?=AnsiMenu(title_names)if?__name__?=='__main__':selected_title?=?select_title_menu.query()selected_title?=?title_ids[selected_title]selected_title?=?nx.titles[selected_title]with?selected_title.savedata?as?savedata:savedata.backup('/savedata_backups/{}/'.format(title_names[selected_index]))
恭喜,你已使用14行Python代碼創建了第一個Switch自制程序!
文章增刪改自作者的tutorial, 感謝他:https://nx-python.readthedocs.io/
如果你喜歡今天的Python 教程,請持續關注Python實用寶典,如果對你有幫助,麻煩在下面點一個贊/在看
,有任何問題都可以在下方留言,我們會耐心解答的!
點擊下方閱讀原文可以獲取所有代碼和鏈接哦!
Python實用寶典?(pythondict.com)
不只是一個寶典
歡迎關注公眾號:Python實用寶典
總結
以上是生活随笔為你收集整理的python怎么用switch,Python 能开发任天堂Switch应用??奉上教程!的全部內容,希望文章能夠幫你解決所遇到的問題。