Python 板


LINE

最近碰到兩個popen執行問題,請問版上是否有 人知道問題在哪 1.popen命令執行完後,會卡住,要按一下enter整個執行才會結束 # 命令太長,在bbs上先分成兩行 cmd ='cmd /c java -Dfile.encoding=UTF-8 -cp AozoraEpub3.jar AozoraEpub3 -enc UTF-8 -device kindle -hor "D:\web\3.txt"' subprocess.Popen(cmd) 這個改成下面就不會卡住了, 不過原因還在查。 subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 2. 如果路徑名稱是簡體,日文,總之是目前cmd無法正確顯示的路徑 比如上面的 D:\web\3.txt改成 [惰堕] 剑徒之路\[惰堕] 剑徒之路.txt 不知道是不是因為cmd下上面的剑字無法正常顯示,所以會找不到檔案 下面是錯誤訊息 [ERROR] file not exist. D:\web\data\www.b5200.net\[惰堕] ?徒之路\[惰堕] ?徒之路- aozora.txt 目前只想到先改名稱,跑完程式後,再改回來,不過不知道有沒有比較 好的方法。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.105.49 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1586688925.A.1BE.html
1F:推 LiloHuang: 應該是Python2既有的bug,可以換Python3跑跑看 04/12 20:35
2F:→ LiloHuang: 非得使用 Python2,可看看這篇 https://bit.ly/2VnG1y4 04/12 20:38
我的環境比較複雜是 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
3F:→ LiloHuang: 抱歉沒有環境測試,話說把 java 叫起來應該不用 cmd /c 04/12 23:19
4F:→ LiloHuang: 搞不好是 cmd /c 導致的 04/12 23:19
我有試過直接呼叫java(去掉cmd /c),結果一樣 設成shell=False,結果一樣找不到檔案
5F:推 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
6F:→ s860134: 你把 python 的程式碼傳上來吧 04/15 22:44
7F:→ s860134: "[惰?] ?徒之路\[惰?] ?徒之路" 應該是你讀到 python 時 04/15 22:45
8F:→ s860134: 就已經把字串讀成 "?" 單純用 os.listdir 不會有這問題 04/15 22:46
os.listdir沒有問題,我是用listdir或glob抓出檔案名稱,用shutil或os都沒問題 就只有subprocess會出問題
9F:→ s860134: 猜你是想把內聞做繁簡轉換吧. 04/15 22:46
程式碼,沒有只是在學爬蟲,所以就爬個小說網站而已 https://github.com/tsaiminghan/pynoveldl-git
10F:推 TuCH: 看起來應該是編碼出問題 環境太髒了 04/16 08:07
11F:→ zerof: 2沒意外的話是 windows cmd 的問題,default encoding 是 c 04/16 13:36
12F:→ zerof: p950, 可以轉 65001 應該就會正常(chcp 65001) 04/16 13:36
13F:→ 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
14F:→ zerof: hmm... 試試看在 Popen 的時候帶 encoding=“utf-8” 看看( 04/20 00:59
15F:→ zerof: 或是你用 cp932 也看得到簡中的話可以試試用 cp932 ) 04/20 00:59
16F:推 zerof: cmd 切成 utf8 會有 print 的問題表示你的 string 不是 utf 04/20 01:19
17F:→ zerof: 8... 04/20 01:19
謝謝, 我再試了之後發現, 問題應該是出在AozoraEpub3.jar 這個jar看起來不能吃日文不能正確顯示的參數, 同樣有中文的參數 呼叫其它的程式可以執行。 ※ 編輯: tsaiminghan (220.136.86.96 臺灣), 04/21/2020 20:43:22







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP