用Python寫一個將Python2代碼轉換成Python3代碼的批處理工具

之前寫過一篇如何在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工具進行處理。
這下應該沒問題了吧,^_^。

當然,如果有什么問題,或者有更好的方法,歡迎告之,以共同學習研究。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286517.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286517.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286517.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WP 手機Lumia 820 鎖屏密碼的POJI研究

Windows Phone lumia 手機鎖屏密碼的POJI研究大家好今天給大家分享一個最新研究案例,近日筆者Nokia Lumia 820,由于客戶密碼失誤太多,導致鎖屏23000余分鐘,,請看:型號Nokia Lumia820條件:Lumia8…

ArcGIS10從入門到精通系列實驗圖文教程(附配套實驗數據持續更新)

文章目錄1. 專欄簡介2. 專欄地址3. 專欄目錄1. 專欄簡介 本教程《ArcGIS從入門到精通系列實驗教程》內容包括:ArcGIS平臺簡介、ArcGIS應用基礎、空間數據的采集與組織、空間數據的轉換與處理、空間數據的可視化表達、GIS空間分析導論、矢量數據的空間分析、柵格數據…

【iVX 初級工程師培訓教程 10篇文拿證】09 聊天室制作

目錄 【iVX 初級工程師培訓教程 10篇文拿證】01 了解 iVX 完成新年賀卡 【iVX 初級工程師培訓教程 10篇文拿證】02 數值綁定及自適應網站制作 【iVX 初級工程師培訓教程 10篇文拿證】03 事件及猜數字小游戲 【iVX 初級工程師培訓教程 10篇文拿證】04 畫布及我和 iVX 合照 【iV…

為什么Dapr是比SpringCloud和Istio更優雅的微服務框架?

作者:徐磊文章首發地址:https://smartide.cn/zh/blog/2022-0601-dapr/Dapr 是微軟主導的云原生開源項目,2019年10月首次發布,到正式發布 V1.0 版本的不到一年的時間內,github star 數達到了 1.2萬(現在已經…

Android之模擬網絡請求返回http 502、400、401、402錯誤碼

1 問題 app 網絡框架協程沒有做網絡異常捕獲處理,想本地測試網絡接口,希望網絡接口返回Http的錯誤碼 比如502、400、401、402 2 解決辦法 1、pc安裝Fiddler Everywhere 2、讓Fiddler Everywhere支持抓http和https的包 3、保持手機和電腦同一個局域網&am…

12c分頁查詢特性FETCH FIRST ROWS,OFFSET ROWS FETCH NEXT ROW LIMIT Clause子句

Database 12c的FETCH FIRST ROWS特性可以簡化老版本中ROW_NUM()或ROWNUM的分頁排序寫法, 大幅節約開發花在分頁查詢語句上的時間。 row-limiting子句用以限制某個查詢返回的行數 可以通過FETCH FIRST/NEXT關鍵字指定返回結果的行數可以通過PERCENT關鍵字指定返回結果…

tomcat結合nginx使用小結

tomcat結合nginx部署 相信很多人都聽過nginx,這個小巧的東西慢慢地在吞食apache和IIS的份額。那究竟它有什么作用呢?可能很多人未必了解。 說到反向代理,可能很多人都聽說,但具體什么是反向代理,很多人估計就不清楚了。…

如何學好GIS,徹底領悟這幾句話就夠了!!!

目 錄前言1. GIS起源于地圖學2. GISer心中要有地圖3. 空間數據是GIS的血液4. 空間分析是GIS的靈魂5. GIS是智慧城市的操作系統前言 地理信息系統 (GIS)是以可視化和分析地理配準信息為目的,用于描述和表征地球及其他地理現象的一種系統。 地…

【iVX 初級工程師培訓教程 10篇文拿證】07 08 新聞頁制作

目錄 【iVX 初級工程師培訓教程 10篇文拿證】01 了解 iVX 完成新年賀卡 【iVX 初級工程師培訓教程 10篇文拿證】02 數值綁定及自適應網站制作 【iVX 初級工程師培訓教程 10篇文拿證】03 事件及猜數字小游戲 【iVX 初級工程師培訓教程 10篇文拿證】04 畫布及我和 iVX 合照 【iV…

【WEB API項目實戰干貨系列】- WEB API入門(一)

這篇做為這個系列的第一篇,做基本的介紹,有經驗的人可以直接跳到第二部分創建 ProductController。創建 Web API 項目 在這里我們使用VS2013, .NET 4.5.1創建一個Web API 2的項目選擇項目WEB API模板, 在最下方的MVC主要是默認會自帶微軟的API Helper, 使…

父元素 高度固定,如何使其中的文字垂直居中?

方法一&#xff1a; 設置父元素高度&#xff0c;設置子元素行高垂直居中 <style> *{padding: 0;margin:0;font-size: 12px;} div{float: left;width: 200px;height:200px;margin: 10px;border:1px solid blue; line-height: 200px;} span{display: inline-block;verti…

Android之打開繼承DialogFragment對話框里面EditText獲取光標并且彈出鍵盤把底部布局頂上去

1 需求 打開繼承DialogFragment對話框里面EditText獲取光標并且彈出鍵盤把底部布局頂上去 2 效果爆照如下 打開這個DialogFragment 3 關鍵代碼實現 override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)…

驅動介紹

關于驅動驅動&#xff08;也稱連接器&#xff09;是對傳統的數據采集程序的標準化&#xff0c;驅動可以作為你的資產進行管理系統為每個設備創建一個驅動實例通過反射創建驅動實例驅動不可以是靜態的驅動要繼承IDriver接口驅動內需要通過web配置的屬性(支持枚舉等基本類型),上要…

【iVX 初級工程師培訓教程 10篇文拿證】06 數據庫及服務

目錄 【iVX 初級工程師培訓教程 10篇文拿證】01 了解 iVX 完成新年賀卡 【iVX 初級工程師培訓教程 10篇文拿證】02 數值綁定及自適應網站制作 【iVX 初級工程師培訓教程 10篇文拿證】03 事件及猜數字小游戲 【iVX 初級工程師培訓教程 10篇文拿證】04 畫布及我和 iVX 合照 【iV…

memcached安裝和php擴展memcache安裝

1.準備安裝包: libevent-2.1.8-stable.tar.gz memcached-1.5.0.tar.gz memcache-2.2.7.tgz 2.安裝libevent tar xf /opt/libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable mkdir /usr/local/libevent ./configure --prefix/usr/local/libevent make && make …

J2EE開發技術點4:ajax技術

前言 AJAX 是在不重新加載整個頁面的情況下&#xff0c;與服務器交換數據并更新部分網頁的技術。需要知道的是&#xff0c;Ajax技術并不是一項新的技術&#xff0c;而是使用現有技術解決問題的新方法。Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;也叫異步Jav…

【WEB API項目實戰干貨系列】- 接口文檔與在線測試(二)

這一篇我們主要介紹如何做API幫助文檔&#xff0c;給API的調用人員介紹各個 API的功能, 輸入參數&#xff0c;輸出參數, 以及在線測試 API功能(這個也是方便我們自己開發調試) 我們先來看看我們的API最終幫助文檔及在線測試最終達到的效果: 概要圖GET API添加產品API:刪除產品 …

IOS多線程

http://www.jianshu.com/p/0b0d9b1f1f19 首頁專題下載手機應用顯示模式登錄注冊登錄添加關注作者 伯恩的遺產 2015.07.29 00:37* 寫了35249字&#xff0c;被2296人關注&#xff0c;獲得了1668個喜歡關于iOS多線程&#xff0c;你看我就夠了 字數8596 閱讀92152 評論153 喜歡905在…

Android之提示Failed to load WebView provider: No WebView installed

1 問題 Fatal Exception: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installedat android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:435)at a…

地理(GIS)教學神器:氣象地球生成器

地理教學中&#xff0c;不管是高中還是初中&#xff0c;都會涉及到大氣運動的相關教學&#xff0c;并且&#xff0c;高中階段的大氣運動知識對很多學生來說相對比較復雜&#xff0c;如&#xff1a; &#xff08;三圈環流&#xff09; &#xff08;青藏高原對西風帶的影響&#…