Hiển thị các bài đăng có nhãn python. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn python. Hiển thị tất cả bài đăng

Thứ Ba, 11 tháng 6, 2019

Xóa dấu tiếng việt bằng python, unaccent in python

s1 = u'ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚÝàáâãèéêìíòóôõùúýĂăĐđĨĩŨũƠơƯưẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾếỀềỂểỄễỆệỈỉỊịỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹ'
s0 = u'AAAAEEEIIOOOOUUYaaaaeeeiioooouuyAaDdIiUuOoUuAaAaAaAaAaAaAaAaAaAaAaAaEeEeEeEeEeEeEeEeIiIiOoOoOoOoOoOoOoOoOoOoOoOoUuUuUuUuUuUuUuYyYyYyYy'
def remove_accents(input_str):
 s = ''
 print input_str.encode('utf-8')
 for c in input_str:
  if c in s1:
   s += s0[s1.index(c)]
  else:
   s += c
 return s


Nguồn: https://gist.githubusercontent.com/J2TEAM/9992744f15187ba51d46aecab21fd469/raw/85942b0406f565f4b02b3d899a1478dbbdccb575/remove_accents.py

Thứ Ba, 16 tháng 10, 2018

Một số vấn đề thường gặp khi cấu hình Python 3 cho Apache 2.4 trên hệ điều hành Windows

Ghi chú một vài vấn đề khi setup Apache2.4 Python 3.5
  • Bước 1: cài đặt mod_wsgi vào python bằng lệnh pip install mod_wsgi, khi cài đặt buóc này cần chú ý: 
    • Thiết lập MOD_WSGI_APACHE_ROOTDIR vào thư mục Apache, lưu ý phiên bản compile của Apache phải khớp với Python và VC++, chỉ dùng chung 1 phiên bản 32/64/amd
    • Kiểm tra phiên bản 32/64 bit giữa python và Visual C++ được cài trong máy, 2 bản này phải giống nhau
    • Path phải được cấu hình dẫn đến thư mục "bin" của Visual C++ và Python
    • Cài đặt windows kit: sao đó thêm đường dẫn dạng "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86" vào Path, sao cho nhìn thấy 2 tập tin rc.exe và rcdll.dll
  • Bước 2: chạy lệnh "mod_wsgi-express module-config" sau đó copy toàn bộ cấu hình vào apache
  • Bước 3: Cấu hình Apache vhost với template như sau, lưu ý thay đổi các đường dẫn:
# mod-wsgi enabled virtual host

WSGIPassAuthorization On
LoadFile "<project_path>/Python35/python35.dll"
LoadModule wsgi_module "<project_path>/Python35/lib/site-packages/mod_wsgi-4.6.4-py3.5-win32.egg/mod_wsgi/server/mod_wsgi.cp35-win32.pyd"
WSGIPythonHome "<project_path>/Python35"
WSGIPythonPath '<project_path>/app;<project_path>/Python35;<project_path>/Python35/Lib/site-packages'

<VirtualHost *:_port_>
    ServerName servername.vn
    ServerAdmin webmaster@example.org
    DocumentRoot <project_path>/app/app

    WSGIScriptAlias / '<project_path>/app/app/wsgi.py'                    

    #Alias /static/ <project_path>/app/app/static_root/
    #Alias /uploaded/ <project_path>/app/app/uploaded/

    <Directory "<project_path>/app/app/">
         <Files wsgi.py>
             Order deny,allow
             Allow from all
             Require all granted
         </Files>

        Order allow,deny
        Options Indexes FollowSymLinks
        Allow from all
        IndexOptions FancyIndexing

    </Directory>
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
</VirtualHost>

Thứ Hai, 18 tháng 7, 2016

Vấn đề đọc tập tin với tên unicode trong python

Trong một lần làm việc với các tập tin cùng ngôn ngữ python với mục tiêu liệt kê tất cả các tập tin trong thư mục, tôi đã gặp vấn đề như sau: đối với các tập tin có tên unicode như "Việt Nam.jpg" các hàm của module os không thể liệt kê được.

Vấn đề trên được fix đơn giản bằng cách khai báo rootdir với đặc tính unicode.

import os
rootdir = u'root_path'

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        print os.path.join(subdir, file)

Chúc các bạn thành công!