Python语言应用在MySQL数据库中解决问题

开发 后端
Python语言在广泛的应用中如何进行相关的技术融合。下面我们就看看在MySQL数据库中的使用方法。希望大家有所收获。

Python语言在广泛的地方都有应用,在长时间的应用中有不少的问题困扰着我们。下面我们就详细的看看如何在MySQL数据库中的详细应用。希望在之后的使用中有所帮助。

试了很久,无论在connect的时候指定charset='utf8',还是使用set_character_set(),或者执行"SET NAMES UTF8",跟踪到character_set_name()方法返回的都是latin1...再跟代码,似乎就跑到mysql-api里去了,反正***解决的办法也很简单,就是使用如下方式执行,而不要去拼sql语句……

Python语言 代码

 

  1. >>> sql = "INSERT INTO t_user(name,nickname) values(%s,%s)"   
  2. >>> param = ("张三","张三的昵称")   
  3. >>> cursor.execute(sql,param)  

使用gettext来实现。其实就是一个文本替换的方式,和java里用ResourceBundle、properties比较类似……

1.导入gettext模块

Python语言 代码

 

  1. import gettext   
  2. gettext.install('i18ntest', './locale', unicode=True)  

 

参数说明:

作用域:用于限定翻译文件的主名路径:翻译文件所在路径unicode:使用unicode

2.把代码里需要国际化的文本全部使用_("text")的形式进行替换

3.需要进行国际化处理时,调用

 

  1. python 代码  
  2. gettext.translation('i18ntest', './locale', languages=['cn']).install(True)  

现在程序写好了,需要生成所需资源文件了:

1.调用python安装目录的 Tools/i18n/pygettext.py抽取所需翻译的模板

  1. >>> pygettext.py path/to/yourfile.py 

将生成一个名为messages.pot的文件

2.生成模板文件后,修改这个模板文件,其中的msgid为键值,对应你程序里写的文本,如:_("New File"),而msgstr为翻译后的值。还有就是注意修改文件头部分Content-Type的charset为合适的编码,比如utf8

3.编写好模板后,把扩展名修改为.po,运行Tools/i18n/msgfmt.py,生成二进制的资源文件

  1. >>> msgfmt.py messages.po 

将生成一个名为messages.mo的文件

4.把这个mo文件放在正确的位置.比如你在程序中是这样写的:

  1. gettext.install('i18ntest', './locale', unicode=True)  
  2. gettext.translation('i18ntest', './locale', languages=['cn']).install(True) 

那么你的程序目录下需要存在./local/cn/LC_MESSAGES/i18ntest.mo这样程序启动时就会读取这个资源文件,替换对应的文本,实现国际化了。以上就是对Python语言的详细介绍。

【编辑推荐】

  1. Python多线程具体运用的方法
  2. 探究Python性能为什么如此的强大
  3. Python django应用中的五大关键步骤
  4. Python主线程如何进行相关应用
  5. python多线程应用中的详细介绍
责任编辑:张浩 来源: IT168
相关推荐

2019-11-15 14:53:49

大数据平台智慧城市城市大数据

2009-12-25 15:11:08

FTTH应用

2019-07-10 13:02:12

大数据智慧城市数据安全

2013-03-11 10:02:42

2022-03-03 21:45:58

大数据大数据技术

2023-09-25 10:55:26

人工智能

2022-03-29 14:46:03

元宇宙工业元宇宙物联网

2013-05-23 14:20:50

PoE以太网IP终端地址

2009-03-24 10:45:39

MySQL5连接超时数据库

2016-01-12 10:33:24

2020-12-14 18:02:25

区块链人民币技术

2011-07-13 09:42:09

2009-12-07 13:20:14

PHP技术应用

2012-07-30 09:48:09

HTML5

2018-05-29 00:00:32

物联网物联网应用IOT

2010-05-11 12:57:45

MySQL数据库编码

2010-07-06 14:40:15

解决SQL Serve

2011-04-13 12:03:12

2016-10-27 09:31:19

大数据医疗临床

2023-04-11 07:46:11

平台arthas线诊断
点赞
收藏

51CTO技术栈公众号