python轻松实现代码编码格式转换.docx

上传人:w**** 文档编号:22528676 上传时间:2022-06-25 格式:DOCX 页数:14 大小:32.99KB
返回 下载 相关 举报
python轻松实现代码编码格式转换.docx_第1页
第1页 / 共14页
python轻松实现代码编码格式转换.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《python轻松实现代码编码格式转换.docx》由会员分享,可在线阅读,更多相关《python轻松实现代码编码格式转换.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、python轻松实现代码编码格式转换文章主要介绍了python概率计算器实现方法,实例分析了Python实现概率计算的技巧,具有肯定参考借鉴价值,须要的挚友可以参考下.本文实例讲解并描述了python概率计算器实现方法。共享给大家供大家参考。详细实现方法如下:?123456789由于某些缘由,须要将代码从A机房迁移到B机房,这两个之间不能相互访问,但是历史缘由导致A机房的代码全是utf8编码的,B机房要求是GBK编码,看看这个怎么解决。虽然很简洁,但是还是要举荐给大家,须要的小伙伴参考下吧。最近刚换工作不久,没太多的时间去整理工作中的东西,大部分时间都在用来熟识新公司的业务,熟识他们的代码框架

2、了,最主要的是还有许多新东西要学,我之前主要是做php后台开发的,来这边之后还要把我半路出家的前端学好、还要学习C+,哈哈,总之很充溢了,每天下班回家都可以睡的很香(一句话总结,就是吃得香、睡的香)。再说说换工作时候吧,今年年初正式毕业半年了,感觉自己技术增长很快,原公司里面程序员的地位还不如运营,所以想换个工作,面试了3家(2家大的、一家小的),都给offer了,当然从大公司里面挑了个各方面综合(工资、干什么、交通等等)还不错的,反正感觉就很顺当的进来了(比毕业的时候简单多了),哈哈,越努力、越幸运,越幸运、越努力!。从这周起先,接着整理博客,免得给自己造成懒得习惯。刚来这个公司,熟识了环境

3、,老大就起先让我做一个迁移、修改代码的工作,我想说的是,这种工作真没劲,看别人的代码、改别人的代码、这里改个变量、那里改个文件名,都是些没技术含量、很繁琐的事情,不过通过迁移代码顺便熟识下环境也好。扯了这么多,说说今日的主题吧代码编码格式变更,由于某些缘由,须要将代码从A机房迁移到B机房,这两个之间不能相互访问,但是历史缘由导致A机房的代码全是utf8编码的,B机房要求是GBK编码,看看这个怎么解决。编码问题先说说为什么会有编码问题,就拿上面那个例子来说,B机房这边数据库全是GBK编码的,因此从数据库中取出来的数据都是GBK的,从数据库中取出来的数据是GBK编码的,要在展示的时候不乱码,在不对

4、数据库取出的数据转换的状况下,就须要发送header的时候设置编码为GBK,输出的文件(html、tpl等)都必需是GBK的,看看下面这个图会更清晰点:DB(GBK) => php等(编码格式不限但假如代码文件中有汉字,文件就要是gbk编码或者在汉字输出的时候转化为gbk) => header(GBK) => html、tpl(GBK)或者还有一种方式只在出库的时候在代码中将utf8转化为gbk,总的来说utf8还是更流行点,问题更少点DB(GBK) => php等(utf8,并将从数据库取出的数据转化为utf8) => header(utf8) => ht

5、ml、tpl(utf8)只要根据上面这两种规范编码格式,就不会出现乱码状况,至少我测试的第一种方式是没问题的,所以我猜其次种也ok,好了,现在就来写一个转换文件编码格式的小脚本:?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#!/usr/bin/python# -*- coding: utf-8 -*-#Filename:changeEncode.pyimport osimport sysdef ChangeEncode(file,fromEncode,toEnco

6、de):try:f=open(file)s=f.read()f.close()u=s.decode(fromEncode)s=u.encode(toEncode)f=open(file,w);f.write(s)return 0;except:return -1;def Do(dirname,fromEncode,toEncode):for root,dirs,files in os.walk(dirname):for _file in files:_file=os.path.join(root,_file)if(ChangeEncode(_file,fromEncode,toEncode)!

7、=0):print 转换失败:+_fileelse:print 胜利:+_filedef CheckParam(dirname,fromEncode,toEncode):encode=UTF-8,GBK,gbk,utf-8if(not fromEncode in encode or not toEncode in encode):return 2if(fromEncode=toEncode):return 3if(not os.path.isdir(dirname):return 1return 0if _name_=_main_:error=1:第一个参数不是一个有效的文件夹,3:源编码和目

8、标编码相同,2:您要转化的编码不再范围之内:UTF-8,GBKdirname=sys.argv1fromEncode=sys.argv2toEncode=sys.argv3ret=CheckParam(dirname,fromEncode,toEncode)if(ret!=0):print errorretelse:Do(dirname,fromEncode,toEncode)脚本很简洁,运用也很简洁代码如下:./changeEncode.py target_dir fromEncode toEncode这里要留意下,几种常见编码的关系:us-ascii编码是utf-8编码的一个子集,这个是从

9、stackoverflow上得到的,原文如下ASCII is a subset of UTF-8, so all ASCII files are already UTF-8 encoded,我试了下的确是的,在不加汉字的时候显示编码为us-ascii,加了汉字之后,变为utf-8。还有就是ASNI编码格式,这代表是本地编码格式,比如说在简体中文操作系统下,ASNI编码就代表GBK编码,这点还须要留意还有一点就是一个在linux下查看文件编码格式的吩咐是:代码如下:file -i *可以看到文件的编码格式。当然了,上面的可能有些文件中有特别字符,处理的时候会失败,但一般程序文件是没有问题的。以上

10、就是本文所述的全部内容了,希望对大家学习python能够有所帮助。请您花一点时间将文章共享给您的挚友或者留下评论。我们将会由衷感谢您的支持!111213141516171819202122232425262728293031from random import randrange#randrange form random moduledef calc_prob(strengths):A function that receives an array of two numbersindicating the strength of each partyand returns the winne

11、rif strengths1>strengths0:#Bring the bigger number to the first position in the arraytemp=strengths0strengths0=strengths1strengths1=tempprob1=abs(strengths0-strengths1)#The relative strength of the 2 partiesprob2=randrange(0,100)#To calculate the luck that decides the outcomeif prob2 in range(0,3

12、3-prob1):#Check if the weaker party is capable of winning.#The condition gets narrower with the increase#in relative strengths of each partiesreturn strengths1elif prob2 in range(33-prob1,66-prob1):#The middle conditionreturn Drawelse:return strengths0#Luck favors the stronger party and if relative

13、strength#between the teams is too large,#the match ends up in favor of the stronger party#Examplecalc_prob(50,75);#Always has to be a list to allow exchange#Can be programmed in hundreds of better ways. Good luck!希望本文所述对大家的Python程序设计有所帮助。本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第14页 共14页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页第 14 页 共 14 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 考试试题 > 会计资格

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁