Cách sử dụng Python 2to3 trong Windows

Là một nhà phát triển Python, chúng tôi sẽ xử lý rất nhiều lỗi cũ của python 2. x mà chúng tôi muốn chuyển đổi nó thành Python 3. Python theo mặc định cung cấp cho chúng ta một tiện ích dòng lệnh đẹp mắt có tên là 2to3. Bạn có thể đọc thêm về nó ở đây

Nhưng hãy để chúng tôi nói rằng chúng tôi muốn sử dụng Pycharm để làm điều đó cho chúng tôi. Tất cả những gì chúng ta cần là một vài cấu hình bằng cách sử dụng các công cụ Bên ngoài của Pycharm

Dưới đây là các bước

[1] Bước đầu tiên là tìm vị trí của tiện ích 2to3 trong hệ thống của bạn, o thấy rằng chúng ta có thể sử dụng lệnh 'what' như sau

Mở một thiết bị đầu cuối [Dành cho windows và linux] và nhập which 2to3 , điều này sẽ cung cấp cho bạn đường dẫn của nó. Đối với tôi nó nằm trên /usr/local/bin/2to3

[2] Mở Pycharm->Preferences->Tools->External Tools và thêm một công cụ mới với các tùy chọn sau

Lưu ý tùy chọn -w, điều này có nghĩa là khi bạn chạy tùy chọn này trên một tệp, các thay đổi sẽ được ghi vào đĩa

[3] Bây giờ để sử dụng, hãy lấy bất kỳ tệp python nào trong phiên bản 2. x và nhấp chuột phải vào tệp và chọn Công cụ bên ngoài->2to3

Thì đấy, điều này sẽ chuyển đổi tệp của bạn sang Python 3 như sau

Bạn cũng có thể thực hiện chuyển đổi này ở cấp độ thư mục, điều này sẽ áp dụng các thay đổi cho tất cả các tệp trong thư mục. Hy vọng bạn thích đọc ngắn. Chúc mừng

Trước khi kết thúc loạt bài cơ bản về Python 3, tôi nghĩ sẽ là khôn ngoan nếu bạn trình bày những gì có thể liên quan khi bạn gặp mã được viết bằng Python 2, vì nó sẽ xảy ra khá thường xuyên và nên được coi là một trong những điều cơ bản để học Python 3

Nói chung, bạn có thể sẽ tìm thấy thủ phạm lớn nhất khiến mã Python 2 không hoạt động trong Python 3 là câu lệnh in của Python 2, so với hàm in của Python 3

print "Hello there"

Ở trên là tốt cho Python 2, nhưng sẽ gây ra lỗi cú pháp trong Python 3. Điều đó nói rằng, mã Python 2 cũng có thể được

print["Hello there"]

Hầu hết mã Python 3 có khả năng chạy trên Python 2

Một điểm khác biệt lớn nữa là cách mọi người xử lý các trường hợp ngoại lệ. Vì vậy, trong Python 2, bạn thường thấy nhất

try:
    dosomething
except Exception, e:
    return str[e]

Mã này sẽ đưa ra lỗi cú pháp trong Python 3

try:
    dosomething
except Exception as e:
    return str[e]

Đoạn mã trên là cách viết ngoại lệ Python 3, nhưng mã này cũng hoạt động như mong đợi trong Python 2

Sự khác biệt lớn thứ ba mà tôi tìm thấy trong mã hóa Python 2 so với Python 3 là urllib và truy cập internet nói chung

Trong Python 2, thông tin internet được trả về dưới dạng dữ liệu chuỗi. Trong Python 3, nó có dạng byte và phải được xử lý như vậy, được chuyển đổi thành chuỗi nếu đó là cách bạn muốn xử lý nó

Còn khá nhiều thứ lặt vặt khác, nhưng đó là những mảng chính. Đối với các tập lệnh nhỏ hơn, những thứ này thường có thể được sửa rất nhanh. Tuy nhiên, đối với những cái lớn hơn, nó có thể trở nên rất tẻ nhạt. rất nhanh. May mắn thay, Python 3 đi kèm với một tập lệnh gọi là 2to3, chuyển đổi khá nhiều điểm khác biệt phổ biến giữa mã Python 2 và Python 3

Để có ví dụ nhanh về 2to3 đang hoạt động, hãy viết nhanh tập lệnh Python 2

import urllib2

try:
    x = urllib2.urlopen["//pythonprogramming.net"].read[]
	print x
except Exception, e:
    print str[e]

Đoạn mã trên có một vài điều cần phải được thay đổi. Đầu tiên, quá trình nhập cho urllib2 không hợp lệ trong Python 3, chúng tôi chỉ sử dụng urllib. Tiếp theo, chúng tôi sử dụng urllib2. urlopen để mở URL, một lần nữa, URL này không hợp lệ. Sau đó, chúng tôi in x như in là một câu lệnh. Python 3 rơi nước mắt vào thời điểm này. Sau đó, chúng tôi thực sự khởi động Python 3 trong khi nó gặp sự cố với Ngoại lệ, e bit. Rất tiếc. Sau đó, cuối cùng chúng ta cũng nhổ vào Python 3 lần cuối bằng một câu lệnh in khác

Bây giờ chúng tôi đã sẵn sàng để kiểm tra 2to3. Việc sử dụng này sẽ khác nhau đôi chút giữa các hệ điều hành. Tôi cho thấy làm điều đó trong Windows và Ubuntu trong video. Tuy nhiên, đối với hầu hết các phần, bạn chỉ cần tham khảo tập lệnh 2to3. Đường dẫn đầy đủ đến nó sẽ là

PythonDirectory/Công cụ/tập lệnh/2to3. py

Do đó, trên Windows, phiên bản của tôi nằm trong

C. /Python34/Tools/scripts/2to3. py

Bạn có thể nhận được bằng cách chỉ cần gõ 2to3 hoặc python 2to3. Hãy thử nếu bạn thích, không hoạt động với tôi kể từ 2to3. py không có trong Đường dẫn của tôi

Vì vậy, đối với tôi, tôi mở cmd của mình. exe vào thư mục mà tôi đã lưu tệp Python 2 của mình vào. Nếu bạn mở cmd. exe đến một nơi nào đó không phải là thư mục chứa tập lệnh python 2 mà chúng ta vừa viết, bạn cần thay đổi thư mục ở đó [cd]

Bây giờ bạn có thể thực thi 2to3, đây là những gì tôi đã nhập

C:/Python34/Tools/scripts/2to3.py python2script.py

Mã đó sẽ chỉ xuất sự cố và mã cố định vào bảng điều khiển. Bây giờ, hãy thực sự chuyển đổi tệp

C:/Python34/Tools/scripts/2to3.py -w python2script.py

Với -w bổ sung [viết tắt của ghi], chúng tôi có thể ghi các thay đổi vào tệp. Bạn cũng nên xem một. bak, là bản sao lưu của tệp gốc

Làm cách nào để sử dụng 2to3 trong Python?

Để chuyển đổi mã python 2 nhất định thành python 3, hãy chuyển đến dấu nhắc lệnh của bạn, thay đổi thư mục thành C. /Program Files/Python36/Tools/scripts nơi tìm thấy tệp 2to3. Sau đó thêm lệnh sau. trăn 2to3. py -w [thư mục tới tập lệnh của bạn]

Python 2to3 ở đâu?

2to3 thường sẽ được cài đặt với trình thông dịch Python dưới dạng tập lệnh. Nó cũng nằm trong trong thư mục Tools/scripts của thư mục gốc Python . Đối số cơ bản của 2to3 là ​​danh sách các tệp hoặc thư mục cần chuyển đổi. Các thư mục được duyệt qua đệ quy cho các nguồn Python.

Chủ Đề