2017-02-16 29 views
0

我有一個用Python 2.7編寫的.py文件的文件夾,我想使用2to3工具將其轉換爲Python 3。在命令提示符使用Windows 10,我可以在單個文件轉換使用下面的命令:使用cmd在Python中調用2to3

C:\Users\t\Desktop\search>python.exe 2to3.py -w graphicsDisplay.py 

然而,這行不是在Python Shell時,語法正確和理想,我想能夠通過整個迭代文件夾和更新使用在cmd中下面的Python代碼使用的所有.py文件:

C:\Users\t\Desktop\search>python 
>>> import os 
>>> for files in os.listdir('*filepath*'): 
>>>  if '.py' == str(files[-3:]): 
>>>   *...some line of code here to perform 2to3* 

它的最後一行,我似乎無法得到正確的,所以我想我的問題是,我怎麼能叫的2to3函數在python上的每次迭代的文件中變量?

回答

2

可以從命令行

for %a in (*.py) do python.exe 2to3.py -w "%a" 

直接做到這一點對於在指定的組中的每個文件執行保持該參考文件正在迭代轉換傳遞(在此示例中%a)的for替換的參數。

+0

這完美地工作,謝謝! – Braide

0

看起來像2to3支持遞歸文件夾檢查,如果你沒有明確的腳本進行轉換。

將所有腳本放在一個文件夾中執行反而會更容易嗎?

來自:https://docs.python.org/2/library/2to3.html#

2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode 
+0

Ezsrac謝謝你的回答。另一個工作完美,所以我沒有嘗試過,但我很感激你的迴應。 – Braide