用Python写一个将Python2代码转换成Python3代码的批处理工具
生活随笔
收集整理的這篇文章主要介紹了
用Python写一个将Python2代码转换成Python3代码的批处理工具
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
之前寫(xiě)過(guò)一篇如何在windows操作系統(tǒng)上給.py文件添加一個(gè)快速處理的右鍵功能的文章:《一鍵將Python2代碼自動(dòng)轉(zhuǎn)化為Python3》,作用就是為了將Python2的文件升級(jí)轉(zhuǎn)換成Python3的文件。
之后,有朋友問(wèn),如果有很多文件需要轉(zhuǎn)換,一個(gè)個(gè)的右鍵轉(zhuǎn)換還是覺(jué)得麻煩!這個(gè)問(wèn)題我非常喜歡,非常符合”程序員精神“,哈哈,能簡(jiǎn)單的決不搞復(fù)雜,能省力就省力!
也有朋友提問(wèn),這個(gè)功能只能在windows上實(shí)現(xiàn),像Ubuntu等Linux操作系統(tǒng)怎么搞?
好吧,既然是研究學(xué)習(xí)Python語(yǔ)言的,那咱們就用Python寫(xiě)個(gè)代碼來(lái)搞定這些問(wèn)題,直接上代碼:
import os# 定義一個(gè)處理方法 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 需要轉(zhuǎn)換的文件目錄 dirname = "C:/Users/Administrator/Desktop/test"# p2to3FileName 本機(jī)Python安裝目錄下的2to3.py的路徑,2to3.py是python自帶的工具 p2to3FileName = ("C:/Users/Administrator/AppData/Local/Programs/" +"Python/Python36-32/Tools/scripts/2to3.py")Python2toPython3(dirname, p2to3FileName)
下圖為測(cè)試運(yùn)行截圖:
代碼很簡(jiǎn)單,就是遍歷給定的目錄,如果是".py"文件,就調(diào)用Python自己的2to3.py工具進(jìn)行處理。 這下應(yīng)該沒(méi)問(wèn)題了吧,^_^。
當(dāng)然,如果有什么問(wèn)題,或者有更好的方法,歡迎告之,以共同學(xué)習(xí)研究。
之后,有朋友問(wèn),如果有很多文件需要轉(zhuǎn)換,一個(gè)個(gè)的右鍵轉(zhuǎn)換還是覺(jué)得麻煩!這個(gè)問(wèn)題我非常喜歡,非常符合”程序員精神“,哈哈,能簡(jiǎn)單的決不搞復(fù)雜,能省力就省力!
也有朋友提問(wèn),這個(gè)功能只能在windows上實(shí)現(xiàn),像Ubuntu等Linux操作系統(tǒng)怎么搞?
好吧,既然是研究學(xué)習(xí)Python語(yǔ)言的,那咱們就用Python寫(xiě)個(gè)代碼來(lái)搞定這些問(wèn)題,直接上代碼:
import os# 定義一個(gè)處理方法 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 需要轉(zhuǎn)換的文件目錄 dirname = "C:/Users/Administrator/Desktop/test"# p2to3FileName 本機(jī)Python安裝目錄下的2to3.py的路徑,2to3.py是python自帶的工具 p2to3FileName = ("C:/Users/Administrator/AppData/Local/Programs/" +"Python/Python36-32/Tools/scripts/2to3.py")Python2toPython3(dirname, p2to3FileName)
下圖為測(cè)試運(yùn)行截圖:
代碼很簡(jiǎn)單,就是遍歷給定的目錄,如果是".py"文件,就調(diào)用Python自己的2to3.py工具進(jìn)行處理。 這下應(yīng)該沒(méi)問(wèn)題了吧,^_^。
當(dāng)然,如果有什么問(wèn)題,或者有更好的方法,歡迎告之,以共同學(xué)習(xí)研究。
總結(jié)
以上是生活随笔為你收集整理的用Python写一个将Python2代码转换成Python3代码的批处理工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一键将Python2代码自动转化为Pyt
- 下一篇: Python3.6学习笔记(三)