Python2からPython3へ¶
Python2からPython3対応へ変更した時のメモです。
変更すべき箇所の確認¶
2to3
コマンドを実行して、変更すべき箇所を確認
$ 2to3 kumawatch.py
...
RefactoringTool: Refactored kumawatch.py
--- kumawatch.py (original)
+++ kumawatch.py (refactored)
@@ -5,7 +5,7 @@
-import ConfigParser
+import configparser
@@ -149,7 +149,8 @@
-except OSError as (errno, strerror):
+except OSError as xxx_todo_changeme:
+ (errno, strerror) = xxx_todo_changeme.args
...
@@ -189,7 +190,8 @@
-except OSError as (errno, strerror):
+except OSError as xxx_todo_changeme1:
+ (errno, strerror) = xxx_todo_changeme1.args
...
@@ -232,10 +234,10 @@
## Print config files
for f in args.conffile:
- print(f, os.path.exists(f))
+ print((f, os.path.exists(f)))
## Read config files
- config = ConfigParser.SafeConfigParser()
+ config = configparser.SafeConfigParser()
configparserモジュールへの変更¶
- import ConfigParser
+ import configparser
Python2では ConfigParser
というモジュール名だったが、Python3では configparser
に変更された。
OSErrorの書き方の変更¶
- except OSError as (errno, strerror):
+ except OSError(errno, strerror):
as
が不要だった
Python2.7の場合: | https://docs.python.org/2.7/library/exceptions.html |
---|---|
Python3.5の場合: | https://docs.python.org/3.5/library/exceptions.html |
print文の変更¶
print文からprint関数に変更になったため、 (...)
で括らないといけなくなった。
ただ、print文の状態でも括弧でくくってよかったため(たぶん)、この部分に限っては変更しなくていいはず。