问题描述
我有一个用Python 2.7编写的.py文件文件夹,我想使用2to3工具将其转换为Python 3。 在cmd提示符下使用Windows 10,我可以使用以下命令转换单个文件:
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*
它的最后一行似乎无法正确显示,所以我想我的问题是,如何在文件变量的每次迭代中在python中调用2to3函数?
1楼
您可以直接从命令行进行操作
for %a in (*.py) do python.exe 2to3.py -w "%a"
对于指定集中的每个文件,执行转换,传递for
可替换参数(此示例中for
%a
,该参数包含对要迭代的文件的引用。
2楼
如果您没有显式脚本进行转换,则看起来2to3支持递归文件夹检查。
将所有脚本放在一个文件夹中并针对该文件夹执行会更容易吗?
来自: :
2to3 --output-dir=python3-version/mycode -W -n python2-version/mycode