simonwoodhead đã viết. Tôi cần chuyển đổi mã của họ từ python3 sang Python 2 để tôi có thể kết hợp nó vào chương trình chính. Chương trình này sẽ gửi ảnh qua email cho tôi
Các câu lệnh in là vấn đề đau đầu nhất. nhưng cũng có một số người khác. Tôi thường bảo mọi người chuyển đổi 2to3 [và có một công cụ tích hợp cùng tên thực hiện việc này].Trừ khi bạn cần tốc độ chóng mặt [3 hơi chậm hơn 2] thì tôi thực sự khuyên bạn nên đưa toàn bộ dự án lên 3 , thay vì ngược lại.
Python đang đi theo hướng 3. Nếu bạn có 2 cái chạy sớm hay muộn thì đó sẽ là một vấn đề đối với bạn. chỉ cần cắn viên đạn, có thể nói như vậy và chuyển toàn bộ dự án sang 3.
YMMV
marcus
stderrBài viết. 2178Đã tham gia. Thứ bảy, ngày 01 tháng 12 năm 2012 11. 29 giờ tối
Có một số loại chỉ thị, "vì tương lai", "trở lại tương lai", không, không phải vậy, thứ gì đó bạn đưa vào có thể giúp mã python2 chạy mã python3 tốt hơn. Nó có thể không hoàn hảo nhưng nó có thể giúp.simonwoodhead đã viết. Tôi cần chuyển đổi mã của họ từ python3 sang Python 2 để tôi có thể kết hợp nó vào chương trình chính Chương trình email này phức tạp hơn và được viết bằng Python 2 , do đó cần phải chuyển đổi
Nhưng tại sao hai chương trình nhất thiết phải trở thành một chương trình chạy trên một con trăn? . Tất nhiên, bạn có thể nắm bắt các ngoại lệ và thực hiện tất cả trong một nhưng nếu bạn xem nó như một sự tách biệt giữa các mối quan tâm, bạn có thể tránh phải hoàn tác tất cả các câu lệnh in python3 đó, và điều đó thật tốt.
Tình huống lố bịch và khó hiểu khi python 2 và python 3 cố gắng cùng tồn tại sẽ sớm được giải quyết. Và kẻ chiến thắng sẽ không phải là trăn 2. Vì vậy, tôi khuyên bạn nên viết tất cả mã của mình để nó có thể được sử dụng với python 3 cũng như python 2. Tôi đặt một cái gì đó như thế này
từ __future__ import absolute_import,divisiation, print_function, unicode_literals
ở đầu các tệp của tôi [nơi chúng nằm trong một mô-đun dự kiến . Sử dụng 'sáu' trong một số trường hợp tương đối ít khi có sự khác biệt giữa hai [KHÔNG in[] dưới dạng python 2. 7 khá vui khi có dấu ngoặc đơn, nhưng một số urllib và tkinter được cơ cấu lại. Thay đổi quan trọng nhất là python 3 xác định rõ ràng các mảng 'chuỗi' và byte unicode thay vì loay hoay thông qua phỏng đoán mà python 2 thực hiện [hiệu quả rõ rệt]. ]
cũng https. //các nhóm. Google. com/forum/?hl=vi&fromgroups=#. diễn đàn/pi3d
Sau ngày 1 tháng 1 năm 2020, nhiều công ty và cá nhân lo lắng về mã Python 2 của họ vì tổ chức của Python ngừng hỗ trợ Python 2 và kỷ nguyên phát triển mới đã chuyển sang python3 để giải quyết vấn đề này. Ở đó. Chúng là một vài gói được phát triển theo thời gian, một trong số chúng là chính thức và cực kỳ mạnh mẽ
Ba thư viện được sử dụng để chuyển đổi mã Python 2 của bạn thành mã Python 3
- 2to3 [Chính thức, khuyến nghị]
- Tương lai Python + Tương lai
- Sáu + Hiện đại hóa
Bây giờ tại thời điểm này, bạn chắc chắn đang nghĩ rất rõ, đâu là sự khác biệt giữa 2to3, Python Future + Futurize và Six + Modernize
Đây là câu trả lời của bạn
Đâu là sự khác biệt giữa
Các công cụ tự động để chuyển đổi/tương thích PY2 sang PY3?
Cách chuyển đổi Python 2 sang Python 3
Điều này có thể rất dễ dàng nếu bạn sử dụng bất kỳ thư viện nào ở trên [đừng quên đảm bảo tính tương thích]
Có hai cách để chuyển đổi Python 2 sang python 3.
Phương pháp số 1. Chuyển đổi Python 2 thành python 3 bằng công cụ web
Có một công cụ đơn giản để chuyển đổi python 2 thành python 3
bạn có thể sử dụng một ứng dụng web để chuyển đổi python 2 thành 3
công cụ này là
- 100% MIỄN PHÍ
- Tương thích với tất cả các phiên bản của Python
- tích cực duy trì
Phương pháp #2. Chuyển đổi Python 2 thành python 3 bằng thư viện python
Chúng ta có thể chuyển đổi tập lệnh Python2 thành tập lệnh Python3 bằng cách sử dụng mô-đun 2to3. Nó thay đổi cú pháp Python2 thành cú pháp Python3. Chúng tôi có thể thay đổi tất cả các tệp trong một thư mục cụ thể từ python2 thành python3
Bước 1. Mở thiết bị đầu cuối của bạn và điều hướng đến Tệp của bạn
Mở terminal hoặc CMD của bạn tùy thuộc vào bất cứ điều gì bạn đang sử dụng Windows hoặc Linux
Điều hướng đến thư mục chứa [các] tệp python của bạn. [tất nhiên, sử dụng lệnh “cd”]