LoginSignup
16
9

More than 3 years have passed since last update.

python2をpython3に変換する方法

Last updated at Posted at 2019-07-03

はじめに

しがない地方大学院生をしています、Sotaです。
プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。

今回は,研究で先輩の残したpython2のプログラムをいじることがあったので,そのときpython3に変換した方法を書きます.

2to3

pythonをインストールするとデフォルトで2to3というツールが入っています.
これをターミナル上で使うことでpython2系のコードをpython3系に変換できます.
windowsはpathを通す必要があるみたいなので注意してください.

使い方は,変換したいpythonファイルのあるディレクトリに行き

2to3 hoge.py

とするだけです.
このときの出力は

 import re
 from math import sin, cos, acos, radians
 import math
-import urllib2
-from urllib2 import URLError, HTTPError
+import urllib.request, urllib.error, urllib.parse
+from urllib.error import URLError, HTTPError
 import requests
 import ssl
-import urllib
+import urllib.request, urllib.parse, urllib.error
 import socket
-import httplib
+import http.client
 import codecs
 #from joblib import Parallel, delayed

@@ -49,7 +49,7 @@
    # if count >= 1600000:
    #     break
    # if count >= 1500000 and count <= 1600000:
-        print count
+        print(count)
         count += 1
        dist_b = 1000000000
        dist = 0

このように差分を返してくれます.
コード自体は変更されていません.

コードを変換したいときは

2to3 -w hoge.py

とすると変換してくれます.
このときディレクトリに hoge.pyとhoge.py.bakの2つのファイルが生成されます.
hoge.pyが変換後のpython3系のファイルで, hoge.py.bakが変換前のpython2系のバックアップファイルです.

バックアップが必要ないときは2to3 -n -wとすると変換後のファイルのみ出力されます.

16
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
9