سؤال

لدي مشروع صغير وأريد أن أحاول الانتقال إلى Python 3 - كيف يمكنني القيام بذلك؟

لقد جعلت الكود يعمل بدون تحذيرات باستخدام python2.6 -3 (في الغالب إزالة .has_key() المكالمات)، لكنني لست متأكدًا من أفضل طريقة لاستخدام أداة 2to3.

استخدم أداة 2to3 لتحويل كود المصدر هذا إلى بناء جملة 3.0.لا تقم بتحرير الإخراج يدوياً!

جري 2to3 something.py يُخرج فرقًا، وهو ليس مفيدًا في حد ذاته.باستخدام --write تقوم العلامة بالكتابة فوق Something.py وإنشاء نسخة احتياطية..يبدو أن علي أن أفعل..

2to3 something.py
python3.0 something.py
mv something.py.bak something.py
vim something.py
# repeat

.. وهو أمر دائري بعض الشيء - من الناحية المثالية يمكنني أن أفعل شيئًا مثل ..

mv something.py py2.6_something.py # once

2to3 py2.6_something.py --write-file something.py
vim py2.6_something.py
# repeat
هل كانت مفيدة؟

المحلول

آها، يمكنك أنابيب إخراج 2to3 إلى patch الأمر، الذي يمكن أن يكتب الملف المعدل إلى ملف جديد:

mv something.py py2.6_something.py
2to3 py2.6_something.py | patch -o something.py

نصائح أخرى

يجب أن يكون 2.x هو قاعدة التعليمات البرمجية للتطوير النشط، لذا يجب تشغيل 2to3 في فرع أو دليل مؤقت.لست متأكدًا من سبب رغبتك في الحصول على الإصدارين 2.x و3.x في نفس الدليل.يحتوي distutils على برنامج نصي build_2to3 الذي سيعمل على تشغيل 2to3 عند تثبيت الإصدار 3.0.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top