Python 3 (trong Python 2, thay 'center' bằng u'center')
Các biện pháp phòng ngừa :
Công cụ dòng lệnh: Gần đây mình gặp sự cố, nhiều file trong dự án là một số tài liệu có tên tiếng Trung do mình tiếp quản, dẫn đến khi triển khai tên file đều bị cắt xén khiến dự án không chạy bình thường được. tổng quátPython cung cấp một thư viện để chuyển đổi các ký tự tiếng Trung sang bính âm, tên là PyPinyin, có thể được sử dụng cho ký hiệu ngữ âm tiếng Trung, sắp xếp, truy xuất, v.v. Nó được phát triển dựa trên thư viện hotto/pinyin. Một số liên kết đến các trang web như sau :
Nó có một số đặc điểm:
Không thể chờ đợi? Cài đặtĐầu tiên là cài đặt thư viện này, có thể cài đặt thông qua pip: 1 pip3 install pypinyin Sau khi cài đặt xong thì import thư viện này vào, nếu không báo lỗi nghĩa là cài đặt thành công. 1 \>>> import pypinyin Chà, tiếp theo hãy xem xét các chức năng cụ thể của nó. bính âm cơ bảnTrước hết, hãy thực hiện chuyển đổi bính âm cơ bản, phương pháp này rất đơn giản, chỉ cần gọi trực tiếp phương thức bính âm: 1 from pypinyin import pinyin kết quả hoạt động: 1 [['zhōng'], ['xīn']] Có thể thấy rằng kết quả sẽ là một danh sách hai chiều và mỗi phần tử sẽ trở thành một danh sách khác chứa cách phát âm của từng từ. 1 from pypinyin import pinyin kết quả hoạt động: 1 pip3 install pypinyin1 Chà, nó chỉ cung cấp một cách phát âm, nhưng nếu chúng ta muốn cách phát âm khác thì sao? 1 pip3 install pypinyin3 kết quả hoạt động: 1 pip3 install pypinyin5 OK, bây giờ hai cách phát âm được hiển thị và chúng tôi cũng hiểu tại sao kết quả là danh sách hai chiều, vì có thể có nhiều kết quả một chiều, chẳng hạn như trường hợp các ký tự đa âm. 1 pip3 install pypinyin7 kết quả hoạt động: 1 pip3 install pypinyin9 Tại thời điểm này, hãy quan sát rằng những gì bạn nhận được là một danh sách và nó không còn chứa các âm nữa. thay đổi phong cáchChúng tôi có thể thực hiện một số chuyển đổi kiểu trên kết quả, chẳng hạn như không có kiểu âm, kiểu âm tiêu chuẩn, âm sau bính âm, âm sau từ cuối, kiểu ngữ âm, v.v. Ví dụ: nếu chúng ta muốn đặt âm sau bính âm, chúng ta có thể thực hiện điều này : 10 11 kết quả hoạt động: 1 13 Bạn có thể thấy rằng có một âm bổ sung sau mỗi bính âm trong kết quả đang chạy. Đây là một trong những kiểu, được gọi là TONE3. Trên thực tế, có nhiều kiểu khác. Sau đây là định nghĩa tôi tìm thấy từ mã nguồn: 14_______2_______5 Với những thứ này, chúng ta có thể dễ dàng thực hiện chuyển kiểu. 1 17 Phương thức lazy_pinyin được định nghĩa như sau: 1 19 Bây giờ tôi đã hiểu, bởi vì phương thức bính âm sử dụng kiểu TONE theo mặc định và phương thức lazy_pinyin sử dụng kiểu BÌNH THƯỜNG theo mặc định, do đó, kiểu trả về của hai phương thức này là khác nhau. xử lý lỗiỞ đây chúng tôi làm một bài kiểm tra trước, ví dụ chúng tôi chuyển những từ không thể chuyển đổi thành bính âm, chẳng hạn như: 1 \>>> import pypinyin1 Nó chứa hai dấu hoa thị, một dấu chấm câu và một ký tự tiếng Anh xxx. Kết quả sẽ là gì? 1 \>>> import pypinyin3 Có thể thấy rằng các dấu hoa thị và ký tự tiếng Anh trong kết quả được trả về dưới dạng tổng thể.
Sau đây là logic triển khai mã nguồn của tham số lỗi: \>>> import pypinyin4_______5_______5 Khi xử lý các ký tự không có bính âm, các tham số lỗi khác nhau sẽ có kết quả xử lý khác nhau, để biết logic chi tiết hơn, bạn có thể tham khảo mã nguồn. 1 \>>> import pypinyin7 kết quả hoạt động: 1 \>>> import pypinyin9 Nếu chúng tôi muốn tùy chỉnh quá trình xử lý, chẳng hạn như chuyển đổi from pypinyin import pinyin3 thành from pypinyin import pinyin4, chúng tôi có thể đặt nó như thế này: 1 11 kết quả hoạt động: 1 13 Trên đây là một số thao tác liên quan đến xử lý ngoại lệ, chúng ta có thể xử lý các ký tự mà chúng ta muốn xử lý theo ý muốn. chế độ nghiêm ngặtCuối cùng, hãy xem chế độ nghiêm ngặt. Tham số này được sử dụng để kiểm soát việc có tuân thủ nghiêm ngặt tiêu chuẩn "Lược đồ bính âm Trung Quốc" khi xử lý hay không chữ cái đầu và chữ cái cuối cùng. 《汉语拼音方案》 的如下规则处理声母、在韵母相关风格下还原正确的韵母:
Khi nghiêm ngặt là Sai, điều đó có nghĩa là các quy tắc trên không được tuân theo để xử lý chữ cái đầu và chữ cái cuối cùng. Ví dụ: from pypinyin import pinyin6, _______7_______7 sẽ được coi là chữ cái đầu và chữ cái cuối cùng của yu (đường vòng) thường được coi là from pypinyin import pinyin2 , vân vân. . py tests/test_standard.py trường hợp thử nghiệm kết quả so sánh. bính âm tùy chỉnhNếu bạn không hài lòng với kết quả mà thư viện trả về, chúng ta cũng có thể tùy chỉnh thư viện bính âm của riêng mình. Các phương thức được sử dụng ở đây bao gồm các phương thức load_single_dict và load_phrase_dict. |