关于Python编码,超诡异的,我也是醉了
Python的编码问题,真是让人醉了。最近碰到的问题还真不少。比如中文文件名.csv 。python对外呈现不一致啊,感觉好不公平。
没图说个JB,下面立马上图。


我早些时候的其他脚本,csv都是中文命名的,都没有出现这些问题。现在都还能跑。
再次回头看以前的脚本,以前的脚本是这么写的
with open(parent_DIR + r"\testdata\\投资申请.csv","rb+") as csvfile:
问题1已解决。
更离谱的是同一段代码往同一个csv文件写中文内容,前面的竟然能正确显示,后面的竟然是乱码!!!

问题2,已解决。解决方案如下:

根据这个,修改过后的代码如下:
def execRequestTestCase(url,args,requestmethord ="post"):
import copy testCase = args["testCase"]
assertion = args["assertion"]
del args["testCase"]
del args["assertion"]
testData =copy.deepcopy(args) if "post" in requestmethord:
testResultDetail =requests.post(url,args).content
if "get" in requestmethord:
if args.has_key("id"):
url =url + args["id"]
del args["id"]
argsstr = ""
if len(args):
argsstr = "?"
for k,v in args.items():
argsstr =argsstr + k + "=" + v + "&"
argsstr = argsstr[0:len(argsstr)-1]
testResultDetail =requests.get(url + argsstr).content
testCase =testCase.decode("GBK")
testResult ="FALSE"
if assertion in testResultDetail:
testResult ="PASS"
return dict(testCase =testCase ,testData =testData, assertion = assertion,testResultDetail=testResultDetail,testResult=testResult)
原来还和get或post 有关,原来代码未走get的逻辑时一切正常,当走过get的逻辑后,汗,操作系统的编码竟然被更改了。。哎呦,这超诡异的。
最近,我读过一篇文章讲述python编码的。讲得很清楚,http://www.ituring.com.cn/article/61192
关于Python编码,超诡异的,我也是醉了的更多相关文章
- (转载) 浅谈python编码处理
最近业务中需要用 Python 写一些脚本.尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息. 很快,我就遇到了异常: UnicodeEncodeError: ...
- Python 编码简单说
先说说什么是编码. 编码(encoding)就是把一个字符映射到计算机底层使用的二进制码.编码方案(encoding scheme)规定了字符串是如何编码的. python编码,其实就是对python ...
- Python之路3【知识点】白话Python编码和文件操作
Python文件头部模板 先说个小知识点:如何在创建文件的时候自动添加文件的头部信息! 通过:file--settings 每次都通过file--setings打开设置页面太麻烦了!可以通过:View ...
- python编码规范
python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. ...
- 【转】python编码的问题
摘要: 为了在源代码中支持非ASCII字符,必须在源文件的第一行或者第二行显示地指定编码格式: # coding=utf-8 或者是: #!/usr/bin/python # -*- coding: ...
- 【转】python编码规范
http://blog.csdn.net/willhuo/article/details/49300441 决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是 ...
- python 编码 UnicodeDecodeError
将一个py脚本从Centos转到win运行,出错如下: UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: il ...
- Python编码/文件读取/多线程
Python编码/文件读取/多线程 个人笔记~~记录才有成长 编码/文件读取/多线程 编码 常用的一般是gbk.utf-8,而在python中字符串一般是用Unicode来操作,这样才能按照单个字 ...
- 规范的python编码
规范的 python 编码令人赏心悦目,令代码的表达逻辑更清晰,使得工程代码更容易被维护和交流: 编码规范包括对于代码书写格式的约束,不良语法的禁用和推荐的编码手法,下面做些简要的描述: 1. 代码规 ...
随机推荐
- .Net EF框架的增删改查
创建上下文对象: WordBoradEntities db = new WordBoradEntities(); 添加: //1.1创建实体对象 User uObj = new User() { uN ...
- 实用开发之-oracle表回滚到一个指定时间的操作语句
在开发或客户使用过程中,难免会出现误操作或脏数据,那么怎么迅速处理这个问题呢? 1.备份还原就用了,太麻烦. 就是使用ORACLE的备份功能,然后在还原,还原的时候新建一个库,然后使用dblink进行 ...
- Struts2基础学习(八)—Struts2防止表单重复提交
一.原因 用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太 慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消 ...
- error C4996: 'swprintf': swprintf has been changed to conform with the ISO C standard,set _CRT_NON_CONFORMING_SWPRINT
在VS2013上运行一个简单程序时,出现了error C4996: 'swprintf': swprintf has been changed to conform with the ISO C st ...
- Git版本管理荟萃
用惯了svn,突然转到git难免有点不适,写个笔记好好备忘总结一番. 一.先看历史(imooc上的一个图): 二.git与svn GIT跟SVN一样有自己的集中式版本库或服务器.但,GIT更倾向于被使 ...
- Twitter数据抓取的方法(三)
Scraping Tweets Directly from Twitters Search – Update Published August 1, 2015 Sorry for my delayed ...
- Mac下安装BeautifulSoup
1.输入命令su,输入root密码,进入root用户 2.执行命令安装pip: sudo easy_install pip 详细pip介绍:http://blog.csdn.net/olanlanxi ...
- mvc 筛选器
之前公司中,运用ActionFilterAttribute特性实现用户登录信息的验证,没事看了看,留下点东西备忘. 好的,瞅这玩意一眼就大概能猜到这货是干嘛的了吧,没错,action过滤器.其实就是A ...
- 【STL】reverse函数用法
reverse函数的功能是反转排序一个容器中指定元素的内容. 函数参数:reverse(first,last), 其中first,last分别指向被反转序列中初始及末尾位置的双向迭代器(Bidirec ...
- seajs加载jquery提示$ is not a function
jquery1.7以上的都支持模块化加载,只是jquery默认的是支持amd,不支持cmd.所以要用seajs加载jquery,需要稍微改下jquery 把 if (typeof define === ...