在 local-judge 中遇到一個關於檔案權限 (Filemode) 的問題,因為檔案權限不同導致 git 比對的結果會顯示兩個輸入不同:
old mode 100644
new mode 100755
原本我是用 subprocess 在比對之前執行 chmod
,效果跟我想的是一樣的。
chmod --reference=answer_filepath output_filepath
但是在解決另外一個複製的問題時,意外找到 shutil,這個工具提供一些檔案複製的函式,其中就有複製檔案權限的,而且竟然是 build-in module,因此我後來改用這個了。
copymode(answer_filepath, output_filepath)
感覺雖然自己已經算是很會找現有的工具了,但是還是很多東西沒看過呢 OuO