推 LiloHuang: 應該是Python2既有的bug,可以換Python3跑跑看 04/12 20:35
我的環境比較複雜是
python3.8.2
windows8.1 專業版
繁體然後切換到日文模式(有在玩日文遊戲),因此cmd的chcp是932 日文(Shift-JIS)
不知道是不是切來切去出問題。
※ 編輯: tsaiminghan (220.136.105.49 臺灣), 04/12/2020 22:37:33
※ 編輯: tsaiminghan (220.136.105.49 臺灣), 04/12/2020 22:37:54
→ LiloHuang: 抱歉沒有環境測試,話說把 java 叫起來應該不用 cmd /c 04/12 23:19
→ LiloHuang: 搞不好是 cmd /c 導致的 04/12 23:19
我有試過直接呼叫java(去掉cmd /c),結果一樣
設成shell=False,結果一樣找不到檔案
推 TakiDog: WSL開發吧 04/13 01:40
※ 編輯: tsaiminghan (118.168.192.117 臺灣), 04/13/2020 20:19:20
※ 編輯: tsaiminghan (220.136.106.212 臺灣), 04/14/2020 20:23:57
→ s860134: 你把 python 的程式碼傳上來吧 04/15 22:44
→ s860134: "[惰?] ?徒之路\[惰?] ?徒之路" 應該是你讀到 python 時 04/15 22:45
→ s860134: 就已經把字串讀成 "?" 單純用 os.listdir 不會有這問題 04/15 22:46
os.listdir沒有問題,我是用listdir或glob抓出檔案名稱,用shutil或os都沒問題
就只有subprocess會出問題
→ s860134: 猜你是想把內聞做繁簡轉換吧. 04/15 22:46
程式碼,沒有只是在學爬蟲,所以就爬個小說網站而已
https://github.com/tsaiminghan/pynoveldl-git
推 TuCH: 看起來應該是編碼出問題 環境太髒了 04/16 08:07
→ zerof: 2沒意外的話是 windows cmd 的問題,default encoding 是 c 04/16 13:36
→ zerof: p950, 可以轉 65001 應該就會正常(chcp 65001) 04/16 13:36
→ zerof: 1 的話可以試試把前面的 cmd /c 拿掉應該就可以了 04/16 13:45
windows切成日文模式後,chcp是932,而且切成65001時, print的format
函式會出錯。下面這種會有問題
('{0:>4} | {1:^10} | {2:>5} | {3}'.format()
※ 編輯: tsaiminghan (220.136.87.105 臺灣), 04/18/2020 13:51:02
※ 編輯: tsaiminghan (220.136.87.105 臺灣), 04/18/2020 13:53:10
→ zerof: hmm... 試試看在 Popen 的時候帶 encoding=“utf-8” 看看( 04/20 00:59
→ zerof: 或是你用 cp932 也看得到簡中的話可以試試用 cp932 ) 04/20 00:59
推 zerof: cmd 切成 utf8 會有 print 的問題表示你的 string 不是 utf 04/20 01:19
→ zerof: 8... 04/20 01:19
謝謝, 我再試了之後發現, 問題應該是出在AozoraEpub3.jar
這個jar看起來不能吃日文不能正確顯示的參數, 同樣有中文的參數
呼叫其它的程式可以執行。
※ 編輯: tsaiminghan (220.136.86.96 臺灣), 04/21/2020 20:43:22