新手python新手项目问题求解

初学者求A+B+C问题用Python或者JAVA怎么写?_问答_ThinkSAAS
初学者求A+B+C问题用Python或者JAVA怎么写?
初学者求A+B+C问题用Python或者JAVA怎么写?
输入为一行,包括用空格分隔的三个整数,分别为A,B,C(数据范围均在-40~40之间),输出为一行,为“A+B+C”的计算结果。
样例:输入:22 1 3
androidsdksamples 文件夹下面有
请看上面的链接。
这是别人整理出来的github上排名较高的开源项目
github搜索awesome android
onTouch()方法中的参数MontionEvent event默认只是单点触控。你的switch的条件也不对,应该这样写
switch (event.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
case MotionEvent.ACTION_POINTER_UP:
不知道你在问什么底层? TCP/IP协议规定的当IP地址全为1时为广播包,全0时是什么包忘了,电脑的网卡和网关路由器等网络设备都遵循TCP/IP协议,一般情况下,网卡监听网线上的包,并根据目标IP地址对比自己的IP,如果IP相同就说明是发给自己的包,也就会接收,IP不同就不会接收,直接跳过。当IP是255.255.255.255,也就是二进制会为1时,不比对IP,直接接收,也就是网络内的所有设备都会接收,实现广播
简化一下问题,看题主的意思,后面的 token 处理部分应该都可以先不管,目前是 ajax 请求中就没 token。那么,首先需要确认,是否页面上的 token 被输出上去了。可以简单压测一下看看结果。如果 js 代码没问题的话,那么只要值存在便会发过去。所以感觉可能是再前面的 token 产生部分的问题,导致页面上没输出这个值。
#! /usr/bin/env python
print reduce(lambda a,b: a + b, map(lambda x: int(x), re.split('s+', raw_input())))
用split分割出来,然后转整形加起来然后输出
#-*-code=utf8-*-
import sys
#读取输入,可以用raw_input()函数
line = raw_input()
#也可以使用stdin的readline()函数
line = sys.stdin.readline()
numbers = line.split(' ')
for n in numbers:
sum += int(n)
import java.util.S
public class Calculator{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
String[] numbers = line.split("");
int sum = 0;
for(String n:numbers){
sum += Int.parseInt(n);
System.out.println(sum);
只会python的:
def plus():
return sum([int(i) for i in input().split()])
先用input(),让用户输入一行内容,里边包含三个参与运算的数字,中间有空格
然后用split()把输入的这行内容分隔开,去掉空格,并放入一个list,此时每个数字仍是string
然后用int()把每个数字转化成int格式,才能参与加法运算
最后用sum()把list中的数字相加
import java.util.S
public class T1 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int A=sc.nextInt();
int B=sc.nextInt();
int C=sc.nextInt();
System.out.println(A+B+C);
不推荐的方式,仅作开拓思路使用……
print(eval(input().replace("","+")))
import java.util.S
public class Main {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner in = new Scanner(System.in);
String line = in.nextLine();
String[] tmp = line.split("");
int sum = 0;
for(String value:tmp){
sum += Integer.parseInt(value);
System.out.println(sum);
添加你想要问的问题
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发客服微信她再也控制住自己情感,边哭边喊着妈妈。
小公举深夜开启17年虐狗第一弹,宣布昆凌怀二胎。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
我 相 信 这 么 优秀 的 你
已 经 置 顶了 我
  转自数盟
简介:一直以来,Python的性能是大家诟病最多的地方,不少最初采用Python的项目甚至开始迁移到其他语言,Duolingo就是其中一例。而整个Python社区最成功的框架莫过于PyPy,但Python使用大户Dropbox并没有采用,相反,他们另起炉灶写了一个Pyston。关于Python几个老生常谈的话题,Kevin Modzelewski有话要说。
“出来混迟早要还的”技术债
Duolingo(多邻国)是一个完全免费的多国语言学习工具,致力于为全球用户提供一个平等接受语言教育的机会。目前用户数超过1.5亿人(笔者是用户之一),其创始人Luis von Ahn是卡内基梅伦大学的教授、图灵测试(CAPTCHAs,俗称验证码)的发明人、麦克阿瑟家族的一员。
不久前Duolingo工程师Andrekhorie在官方技术博客上发表了一篇文章,阐述了对Duolingo这个复杂系统重构的种种心得。在Duolingo后端,超过88个课程系统通过机器学习的不断优化后提供给用户使用。Duolingo原来的系统是用Python编写的,后来用Scala重写了一遍。虽然重构系统耗费了大量的人力、物力(工程师们不得不中断新的研发计划转而用几个月的时间来重写整个系统),但这一切都是值得的――重构后的系统时延从750ms降到14ms,uptime则从99.9%提高到了100%。
  系统重构
没有什么例外,所有的公司都会在成长初期欠下这样的技术债――就像你欠银行的钱,随着时间的推移它会像滚雪球一样不断变大。有句话说的好,出来混迟早是要还的。这种痛苦将伴随着企业的成长,直至你不得不面对它。
在系统设计之初,由于经常需要共享数据,Duolingo的系统架构如下图所示:
这个架构的问题是有太多的严重依赖关系,在这种情况下,越来越多的网络请求使得系统延时越来越大。为了解决这个问题,重新设计架构的主导思想是尽可能解耦所有的依赖,使系统变得简单和健壮(如下图所示)。在新的架构下,经常被共享使用的课程数据离线存储在AWS S3上,Duolingo只需做一些轻量级的缓存即可。
  重写代码
Duolingo做的最大的一个决定是用Scala重写了会话生成器。Duolingo后端的会话生成器最初是用Python编写的。Python的优点就不多说了,但它的缺点也是显而易见的。
1.性能:例如Python比C或者Java要慢很多。
2.内存管理:Python的GIL制约了开发人员对内存的管理和利用。
3.动态类型:对于复杂系统,这导致部署过程中不得不重复大量的bug修复工作,反而减慢了项目的实施进度。
作为一门函数式编程语言,Scala有很多十分吸引人的特性。它十分精炼,编写的代码可读性更强、调试维护也更方便。Scala吸取了其前辈编程语言的优点,并解决了那些语言无法克服的痛点,有更好的容错机制,bug也更少。此外,Scala基于Java Virtual Machine意味着有丰富的Java类库可用。在很多复杂度不比Duolingo差的大数据项目中都使用了Scala,这看起来是个不错的选择。最重要的是在复杂系统编程语言中,Scala的学习曲线比较容易。
  Duolingo的思考
通过这次重构,Duolingo写了所有的测试用例,一方面提高了系统的稳定性,另一方面积累了许多开发文档。在这个过程中他们无缝集成了许多互相独立的开发组件。
本次重构花费的时间低于Duolingo的预期,并且重构后的系统更健壮,代码库也更可读、可维护。在整个重构过程中也遇到了一些痛点,比如Scala的一些库缺乏可用的文档;在与Java集成时也遇到了一些麻烦,某些Scala的特性不能被很好地支持。
性能数据方面,重构后的系统在最初的几个月里高可用达到100%,而这一数据最初是99%,大部分的延时都发生在从S3的缓存中下载没有被缓存命中的课程数据文件。
  经常吐槽Python的同学“你不懂”
鉴于最近大家对关于Pyston的未来讨论较多,恰好近日Pyston发布了0.6.1版,最新版的Pyston在基准测试中的性能比CPython快95%,并使Dropbox的性能提升了10%(Dropbox内部有很多项目是用Python编写的,Pyston是Dropbox发起的一个开源项目,目标是使用LLVM和现代JIT技术开发一款高性能的Python实现)。Pyston项目的核心开发者Kevin Modzelewski写了一篇文章,谈了他对Python的一些看法。
  为什么要有JIT以及为什么要重复造轮子
时光倒流至2013年,当时Dropbox网站的Web服务器90%的CPU资源被各种访问请求消耗掉了,服务器采购的速度让所有人都心惊肉跳。当时普遍认为Python的瓶颈是I/O,由于这个问题在整个系统中广泛存在,问题相当棘手。放眼望去当时并无成熟的技术解决方案――你不能指望也无法想象几百万行代码的PyPy能够与Dropbox自身的大量扩展兼容。时至今日Kevin Modzelewski依然坚信,当初的选择是正确的。人们既不想放弃Python这个生态,又想提高性能,唯有想方设法改进Python,这是不二之选。
另一个常见的抱怨是,当初为什么不采用PyPy或CPython的代码库?这个问题确实不好回答。兼容性是Dropbox首先要考虑的,其次是合理的性能提升。Dropbox的需求与PyPy在设计理念和技术实现两方面都背道而驰,在Kevin Modzelewski看来,这也是PyPy项目继续取得更大成就的瓶颈所在。对PyPy的小修小补固然能有所改进,但像内存使用、支持C扩展、性能稳定等问题已经固化到PyPy的架构中去,这显然不是修修补补能解决的问题。Kevin Modzelewski对一个为了适用于Dropbox而改造过的PyPy到底还能不能再称之为PyPy表示怀疑。
至于CPython,这更多的是一个务实的决定,Dropbox当时的目标是尽可能多地利用CPython。Kevin Modzelewski也承认,时至今日,90%的Pyston的代码库都是CPython代码。从这一点上来说,Pyston显然是基于CPython的实现。但是,在项目的早期阶段,Dropbox的首要任务是验证其战略是否正确――利用LLVM开发一款高性能的Python实现,CPython并不适合进行这样的实验。尽管走了一些弯路、重复造了一些轮子,Kevin Modzelewski认为Dropbox折腾一番的价值在于他们更好地理解了这些技术,未来也许还会遇到类似的情况,由于前面的经验相信他们能做的更好。
  一些大家没想到的点
在Kevin Modzelewski看来,没有调查就没有发言权,但是一些人比较热衷于发表不切实际的看法。比如说,V8引擎使得浏览器运行JS的速度变得更快,Kevin Modzelewski在想的是如何使Python也能获得这样的速度。Kevin Modzelewski考虑的是,跟动态语言相比,为什么Python比较慢呢?而不是说,你看Lua的速度更快,所以用Lua会更好。Kevin Modzelewski希望人们理解,Python之所以慢是因为其丰富的对象模型,而不是它的动态类型和动态范围。问题是,每一个Python操作都有很多关键点,由于很多特性被广泛使用,因此用户就忽略掉了这些地方。
比如,当一个包含局部变量的框架退出后,如何平滑地立即修改对应的函数?在缺少动态语言如JS或Lua那样的模拟机制的前提下,这些特性由于应用广泛所以必须支持。但是人们显然忽略掉了这些。
另一方面,Python的兼容性也跟大家理解的不一样。例如,Kevin Modzelewski发现Dropbox的代码库太庞大以至于兼容性问题不可避免。当从引用计数切换到跟踪垃圾收集器甚至切换到排序字典时,都会引起无数的中断。最终Dropbox不得不分离并重新执行这两个实现以匹配CPython的行为。
特别是在Web应用程序领域内存使用是大家诟病Python最多的地方。一部分是GIL的机制问题――类似于多线程,多进程肯定会占用更多的内存。不管出于怎样的考虑,Python禁止不同的进程之间共享其内存。这里的内存使用不是大家经常讨论的在Python空间(MicroPython除外)中的内存使用,而且这也是PyPy不适用于Dropbox的另一个原因。Dropbox系统中的许多地方实际上也是有这种限制,其中一个关键指标是“每GB内存的每秒请求次数”。Kevin Modzelewski一度认为,当请求次数以50%的速度递增,而内存以2倍的速度扩展是可行的,实际上这在内存绑定类服务中根本不可行。
Kevin Modzelewski最后表示,尽管有上述问题,但这在当时都是经过考量的选择,如果再来一次他相信能做的更好。亲爱的读者,你对Python的认识是否因此得以刷新了呢?
往期精彩文章推荐,点击图片可阅读
2016年深度学习的全球重大进展
2016年十佳人工智能和机器学习图书
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:python2.7的编码问题与解决方法
投稿:daisy
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了在python2.7中遇到的编码问题与解决方法,文章介绍了直接在python文件内修改系统编码和在输入输出的时候,修改编码格式的方法,有需要的朋友们可以参考借鉴。
Python的编码问题基本是每个新手都会遇到的坎,但只要完全掌握了就跳过了这个坑,万变不离其中,下面给大家整理了在python2.7遇到的编码问题,下面来一起看看吧。
一、直接在python文件内修改系统编码
默认的编码格式是ascii,我们可以直接修改为utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
二、在输入输出的时候,修改编码格式
# 解码为GBK,再次编码为UTF-8
html_doc = unicode(html_doc,'GBK').encode('UTF-8')
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具博客访问: 70493
博文数量: 19
博客积分: 1410
博客等级: 上尉
技术积分: 175
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Python/Ruby
转载:Python、Unicode和中文
python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。
先来看看python的版本:>>> import sys>>> sys.version'2.5.1 (r251:54863, Apr 18 :08) [MSC v.1310 32 bit (Intel)]'
(一)用记事本创建一个文件ChineseTest.py,默认ANSI:s = "中文"print s
测试一下瞧瞧:E:\Project\Python\Test>python ChineseTest.py& File "ChineseTest.py", line 1SyntaxError: Non-ASCII character '\xd6' in file ChineseTest.py on line 1, but
see n.org/peps/pep-0263.html for details
偷偷地把文件编码改成UTF-8:E:\Project\Python\Test>python ChineseTest.py& File "ChineseTest.py", line 1SyntaxError: Non-ASCII character '\xe4' in file ChineseTest.py on line 1, but
see n.org/peps/pep-0263.html for details
无济于事。。。既然它提供了网址,那就看看吧。简单地浏览一下,终于知道如果文件里有非ASCII字符,需要在第一行或第二行指定编码声明。把ChineseTest.py文件的编码重新改为ANSI,并加上编码声明:# coding=gbks = "中文"print s
再试一下:E:\Project\Python\Test>python ChineseTest.py中文
正常咯:)(二)看一看它的长度:# coding=gbks = "中文"print len(s)结果:4。s这里是str类型,所以计算的时候一个中文相当于两个英文字符,因此长度为4。我们这样写:# coding=gbks = "中文"s1 = u"中文"s2 = unicode(s, "gbk") #省略参数将用python默认的ASCII来解码s3 = s.decode("gbk") #把str转换成unicode是decode,unicode函数作用与之相同print len(s1)print len(s2)print len(s3)结果:222(三)接着来看看文件的处理:建立一个文件test.txt,文件格式用ANSI,内容为:abc中文用python来读取# coding=gbkprint open("Test.txt").read()结果:abc中文把文件格式改成UTF-8:结果:abc涓?枃显然,这里需要解码:# coding=gbkimport codecsprint open("Test.txt").read().decode("utf-8")结果:abc中文上面的test.txt我是用Editplus来编辑的,但当我用Windows自带的记事本编辑并存成UTF-8格式时,运行时报错:Traceback (most recent call last):& File "ChineseTest.py", line 3, in &&& print open("Test.txt").read().decode("utf-8")UnicodeEncodeError: 'gbk' codec can't encode character u'\ufeff' in position 0: illegal multibyte sequence
原来,某些软件,如notepad,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。因此我们在读取时需要自己去掉这些字符,python中的codecs module定义了这个常量:# coding=gbkimport codecsdata = open("Test.txt").read()if data[:3] == codecs.BOM_UTF8:&data = data[3:]print data.decode("utf-8")结果:abc中文
(四)一点遗留问题在第二部分中,我们用unicode函数和decode方法把str转换成unicode。为什么这两个函数的参数用"gbk"呢?第一反应是我们的编码声明里用了gbk(# coding=gbk),但真是这样?修改一下源文件:# coding=utf-8s = "中文"print unicode(s, "utf-8")运行,报错:Traceback (most recent call last):& File "ChineseTest.py", line 3, in &&& s = unicode(s, "utf-8")UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid data显然,如果前面正常是因为两边都使用了gbk,那么这里我保持了两边utf-8一致,也应该正常,不至于报错。更进一步的例子,如果我们这里转换仍然用gbk:# coding=utf-8s = "中文"print unicode(s, "gbk")结果:中文翻阅了一篇英文资料,它大致讲解了python中的print原理:When Python executes a print statement, it simply passes the output to the operating system (using fwrite() or something like it), and some other program is responsible for actually displaying that output on the screen. For example, on Windows, it might be the Windows console subsystem that displays the result. Or if you're using Windows and running Python on a Unix box somewhere else, your Windows SSH client is actually responsible for displaying the data. If you are running Python in an xterm on Unix, then xterm and your X server handle the display.
To print data reliably, you must know the encoding that this display program expects.
简单地说,python中的print直接把字符串传递给操作系统,所以你需要把str解码成与操作系统一致的格式。Windows使用CP936(几乎与gbk相同),所以这里可以使用gbk。最后测试:# coding=utf-8s = "中文"print unicode(s, "cp936")结果:中文
转载:Python 编码问题整理
几个概念性的东西 ANSCII: 标准的 ANSCII 编码只使用7个比特来表示一个字符,因此最多编码128个字符。扩充的 ANSCII 使用8个比特来表示一个字符,最多也只能 编码 256 个字符。 UNICODE: 使用2个甚至4个字节来编码一个字符,因此可以将世界上所有的字符进行统一编码。 UTF: UNICODE编码转换格式,就是用来指导如何将 unicode 编码成适合文件存储和网络传输的字节序列的形式 (unicode -> str)。像其他的一些编码方式 gb2312, gb18030, big5 和 UTF 的作用是一样的,只是编码方式不同。 Python 里面有两种数据模型来支持字符串这种数据类型,一种是 str,另外一种是 unicode ,它们都是 sequence 的派生类 型,这个可以参考 Python Language Ref 中的描述: & &Strings & & & &The items of a string are characters. There is no separate
a character is represented by a string of one item. Characters represent (at least) 8-bit bytes. The built-in functions chr() and ord() convert between characters and nonnegative integers representing the byte values. Bytes with the values 0-127 usually represent the corresponding ASCII values, but the interpretation of values is up to the program. The string data type is also used to represent arrays of bytes, e.g., to hold data read from a file. & & & &(On systems whose native character set is not ASCII, strings may use EBCDIC in their internal representation, provided the functions chr() and ord() implement a mapping between ASCII and EBCDIC, and string comparison preserves the ASCII order. Or perhaps someone can propose a better rule?) & &Unicode & & & &The items of a Unicode object are Unicode code units. A Unicode code unit is represented by a Unicode object of one item and can hold either a 16-bit or 32-bit value representing a Unicode ordinal (the maximum value for the ordinal is given in sys.maxunicode, and depends on how Python is configured at compile time). Surrogate pairs may be present in the Unicode object, and will be reported as two separate items. The built-in functions unichr() and ord() convert between code units and nonnegative integers representing the Unicode ordinals as defined in the Unicode Standard 3.0. Conversion from and to other encodings are possible through the Unicode method encode() and the built-in function unicode(). 这里面是这么几句: "The items of a string are characters", "The items of a Unicode object are Unicode code units", "The string data type is also used to represent arrays of bytes, e.g., to hold data read from a file." 一二句说明 str 和 unicode 的组成单元(item)是什么(因为它们同是 sequence ) 。sequence 默认的 __len__ 函数的返回值正是该序列组成单元的个数。这样的话,len('abcd') == 4 和 len(u'我是中文') == 4 就很 容易理解了。 第三句告诉我们像从文件输入输出的时候是用 str 来表示数据的数组。不止是文件操作,我想在网络传输的时候应该也是这样的。这就是为什么一个 unicode 字符串在写入文件或者在网络上传输的时候要进行编码的原因了。 Python 里面的编码和解码也就是 unicode 和 str 这两种形式的相互转化。编码是 unicode -> str,相反的,解码就 是 str -> unicode。 下面剩下的问题就是确定何时需要进行编码或者解码了,像一些库是 unicode 版的,这样我们在将这些库函数的返回值进行传输或者写入文件的时候就 要考虑将它编码成合适的类型。 关于文件开头的"编码指示",也就是 # -*- coding: -*- 这个语句。Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正。 关于 sys.defaultencoding,这个在解码没有明确指明解码方式的时候使用。比如我有如下代码: #! /usr/bin/env python # -*- coding: utf-8 -*- s = '中文' &# 注意这里的 str 是 str 类型的,而不是 unicode s.encode('gb18030') 这句代码将 s 重新编码为 gb18030 的格式,即进行 unicode -> str 的转换。因为 s 本身就是 str 类型的,因此 Python 会自动的先将 s 解码为 unicode ,然后再编码成 gb18030。因为解码是python自动进行的,我们没有指明解码方 式,python 就会使用 sys.defaultencoding 指明的方式来解码。很多情况下 sys.defaultencoding 是 ANSCII,如果 s 不是这个类型就会出错。 拿上面的情况来说,我的 sys.defaultencoding 是 anscii,而 s 的编码方式和文件的编码方式一致,是 utf8 的,所 以出错了: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128) 对于这种情况,我们有两种方法来改正错误: 一是明确的指示出 s 的编码方式 #! /usr/bin/env python # -*- coding: utf-8 -*- s = '中文' s.decode('utf-8').encode('gb18030') 二是更改 sys.defaultencoding 为文件的编码方式 #! /usr/bin/env python # -*- coding: utf-8 -*- import sys reload(sys) # Python2.5 初始化后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入 sys.setdefaultencoding('utf-8') str = '中文' str.encode('gb18030')
Python操作MySQL需要安装Python-MySQL可以从网上搜索一下,和一般的Python包一样安装安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验了一下挺好用,不过又发现了烦人的乱麻问题,最后用了几个办法,解决了!我用了下面几个措施,保证MySQL的输出没有乱麻:&&& 1 Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)&&& 2 MySQL数据库charset=utf-8 &&& 3 Python连接MySQL是加上参数 charset=utf8 &&& 4 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)mysql_test.py&&&
#encoding=utf-8import&sysimport&MySQLdbreload(sys)sys.setdefaultencoding('utf-8')db=MySQLdb.connect(user='root',charset='utf8')cur=db.cursor()cur.execute('use mydb')cur.execute('select&*&from mytb limit&100')f=file("/home/user/work/tem.txt",'w')for&i&in&cur.fetchall():&&&&f.write(str(i))&&&&f.write(" ")f.close()cur.close()上面是linux上的脚本,windows下运行正常!注:MySQL的配置文件设置也必须配置成utf8设置&MySQL&的&f&文件,在&[client]/[mysqld]部分都设置默认的字符集(通常在/etc/f): [client]default-character-set&=&utf8[mysqld]default-character-set&=&utf8
转载:实现URL编码解码的python程序import&urllibimport&sysstring&=&sys.argv[1]string&=&unicode(string,"gbk")utf8_string&=&string.encode("utf-8")gbk_string=string.encode("gbk")gbk=urllib.quote(gbk_string)utf8=urllib.quote(utf8_string)print&gbkprint&utf8解码使用unqute和decode函数
阅读(11300) | 评论(1) | 转发(0) |
上一篇:没有了
相关热门文章
给主人留下些什么吧!~~
上面这个实现URL编码解码的python程序不能用:
Traceback (most recent call last):
File "urlencode.py", line 4, in
string = unicode(string,"gbk")
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 2-3: illegal multibyte sequence
请登录后评论。}

我要回帖

更多关于 python 规划求解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信