选择py2.x的文件右键发送给一个批处理来直接转成 3.x -快捷方法
写一个批处理------将python的2.x版本转为3.x.cmd
这个选择一个 py 2.x 的文件后 右键发送给这个批处理来直接转成 3.x 的版本[code]@echo off
cls
set PATH=%PATH%;
:my_loop
if "%~1"=="" goto completed
echo %1
python "C:\Program Files\Python 3.5\Tools\scripts\2to3.py" -w %1
SHIFT
goto my_loop
:completed
rem PAUSE
[/code]放进你
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo
文件夹里就可以用 [i=s] 本帖最后由 yu2n 于 2017-6-17 15:53 编辑 [/i]
我這裡 Python 3.5.2 默認安裝位置在:[code]
python -c "import sys; print(sys.executable);"
C:\Users\Yu2n\AppData\Local\Programs\Python\Python35-32\python.exe
[/code]所以,重複造個輪子:[code]::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Python2to3.bat
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off & cls
:::::::::::::::::::::::::::
:: Check if the system has python installed
:::::::::::::::::::::::::::
set "pyver="
for /f "tokens=1,* delims= " %%a in ('python --version') do (set "pyver=%%~b")
if not defined pyver (
echo Please install python 3 version ^!
goto completed
)
:::::::::::::::::::::::::::
:: Check the python version of the system installation
:::::::::::::::::::::::::::
echo python version^: %pyver%
set "pyver=%pyver:.=%"
set /a "pyver=%pyver:~0,2%"
if %pyver% lss 30 (
echo Please use python 3 version ^!
goto completed
)
:::::::::::::::::::::::::::
:: Get the python installation path
:::::::::::::::::::::::::::
for /f "delims=" %%a in ('python -c "import sys; print(sys.executable);"') do (set "pydir=%%~dpa")
echo python directory^: %pydir%
:::::::::::::::::::::::::::
:my_loop :: Change the python version 2.x to 3.x
:::::::::::::::::::::::::::
if "%~1"=="" (
echo ========================================================================
echo Done!
goto completed
)
call :bak "%~1"
echo python 2to3.py -w %1
echo ========================================================================
python "%pydir%\Tools\scripts\2to3.py" -w %1
shift
goto my_loop
:::::::::::::::::::::::::::
:bak :: backup file
:::::::::::::::::::::::::::
if not defined n set /a n=0
set /a n+=1
if exist "%~dp1%~n1 (%n%)%~x1.bak" (
goto :bak
) else (
echo backup^: "%~1" "%~dp1%~n1 (%n%)%~x1.bak"
copy "%~1" "%~dp1%~n1 (%n%)%~x1.bak"
goto :eof
)
:::::::::::::::::::::::::::
:completed
:::::::::::::::::::::::::::
PAUSE
[/code]結果如下:[code]python version: 352
python directory: C:\Users\Yu2n\AppData\Local\Programs\Python\Python35-32\
backup: "C:\Users\Yu2n\Desktop\0.py" "C:\Users\Yu2n\Desktop\0 (10).py.bak"
1 file(s) copied.
python 2to3.py -w C:\Users\Yu2n\Desktop\0.py
========================================================================
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: No changes to C:\Users\Yu2n\Desktop\0.py
RefactoringTool: Files that need to be modified:
RefactoringTool: C:\Users\Yu2n\Desktop\0.py
========================================================================
Done!
Press any key to continue . . .
[/code]
页:
[1]