之前寫過一篇如何在windows操作系統上給.py文件添加一個快速處理的右鍵功能的文章:《一鍵將Python2代碼自動轉化為Python3》,作用就是為了將Python2的文件升級轉換成Python3的文件。
之后,有朋友問,如果有很多文件需要轉換,一個個的右鍵轉換還是覺得麻煩!這個問題我非常喜歡,非常符合”程序員精神“,哈哈,能簡單的決不搞復雜,能省力就省力!
也有朋友提問,這個功能只能在windows上實現,像Ubuntu等Linux操作系統怎么搞?
好吧,既然是研究學習Python語言的,那咱們就用Python寫個代碼來搞定這些問題,直接上代碼:
import os# 定義一個處理方法
def Python2toPython3(dirname, p2to3FileName):if os.path.exists(dirname):for dirpath, dirnames, filenames in os.walk(dirname):for filename in filenames:if filename.endswith('.py'):fileFullName = os.path.join(dirpath, filename)print('Processing File:', fileFullName)pycode2to3 = ("python " + p2to3FileName + " -w " +fileFullName)print((os.popen(pycode2to3, 'r').read()))# dirname 需要轉換的文件目錄
dirname = "C:/Users/Administrator/Desktop/test"# p2to3FileName 本機Python安裝目錄下的2to3.py的路徑,2to3.py是python自帶的工具
p2to3FileName = ("C:/Users/Administrator/AppData/Local/Programs/" +"Python/Python36-32/Tools/scripts/2to3.py")Python2toPython3(dirname, p2to3FileName)
下圖為測試運行截圖:
代碼很簡單,就是遍歷給定的目錄,如果是".py"文件,就調用Python自己的2to3.py工具進行處理。
這下應該沒問題了吧,^_^。
當然,如果有什么問題,或者有更好的方法,歡迎告之,以共同學習研究。