[教學] 把 Python 程式碼嵌入 DOS batch 中

看板Python作者 (奔跑的蝸牛)時間13年前 (2011/04/03 20:16), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串1/1
rem = """ @echo off rem -------------------- DOS section -------------------- rem You could set PYTHONPATH or TK environment variables here python "%~f0" %* goto exit """ ############### Start of Python code ############### # 把 Python 程式碼寫在這個黃色區域 ############### End of Python code ############### DosExitLabel = """ :exit pause exit rem """ 這個是我之前在網路上看到的 可以把 Python 程式碼寫在 Windows 的 .bat 檔中 把 .bat 改成 .py 也照樣可以執行 (也就是反過來把 DOS batch 嵌入 Python 中) 我覺得還蠻有用的 因為我平常把 .py 設定成點兩下使用 gvim 打開 要執行 .py 檔的話必須打開後按 F10 (或弄成exe執行) 而弄成 .bat 後 要執行只要點兩下就可以了 (不過這只是個人習慣不同罷了 也有人覺得在 .py 檔按右鍵 > 開啟檔案 > python 比較方便) 當然弄成 .pyc 也有同樣的效果 但這樣就看不到程式碼了 注意事項: 1. .bat檔在執行時 Windows會假設其編碼為 ANSI/OEM encoding (以 zh-tw 的 locale 來說就是 big5) 若你的 .bat 存成 ANSI/OEM encoding 之外的 encoding 其 code point 表示的 character 可能會無法正常顯示 甚至會產生執行錯誤 我的建議是不要使用 Non-ASCII character 就算把 Non-ASCII character 寫在 Python script 區域 也會因為沒有宣告文件編碼而出現 syntax error (我不知道怎麼把 Python script 嵌入 .bat 時同時宣告文件編碼) 2. 承上 若你的 .bat 檔用的是 Unicode encoding (ex: UTF-8) 要注意有無 BOM 另外我依樣畫葫蘆 弄了一個把 AutoHotKey 嵌入 .bat 檔的腳本 有興趣的人可以參考 #1Dc67SX3 (EzHotKey) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.46 ※ 編輯: Holocaust123 來自: 140.112.30.46 (04/03 20:59)

04/03 21:55, , 1F
推一個,謝謝你!
04/03 21:55, 1F

04/03 23:32, , 2F
真有趣
04/03 23:32, 2F

04/04 12:17, , 3F
感謝分享!
04/04 12:17, 3F
文章代碼(AID): #1Dc6KVnY (Python)