Python 板


LINE

谢谢几位网友,想再请教关於把所有结果存成a.txt档的问题。 抱歉,叙述不好 修改文章,还请各位指点 2016/4/26 pm11:05 主程式码 http://dpaste.com/1QE1JPW 我打算把我所写的程式码,跑出来的output存成txt档,但是有几行出错了,想跟大家请 教,你可以观看我程式码第65行,如下所示 f.write(tag+"\n") 他跳出了错误UnicodeEncodeError: 'ascii' codec can't encode character 我不知道该如何修正,是我忘记宣告utf-8吗? 可是我前述第一行有宣告了 第二个问题是主程式码的 第74行,d = float (c)/((a+b)-c) 第75行,f.write(d+"\n") 报错内容为: TypeError: unsupported operand type(s) for +: 'float' and 'str' 因为这两个问题,造成我无法存成txt档,还请各位指点,谢谢 -- Sent from my Windows --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.172.95.247
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1461672826.A.5BF.html
1F:推 tiefblau: 直接print到档案 如果是py2 print >> f, i 04/26 20:17
2F:→ tiefblau: py3: print(i, file=f) 或是执行的时候直接重导向 04/26 20:18
3F:→ busystudent: 可以再说明清楚一点吗?我是用py2 04/26 20:19
4F:→ busystudent: print >>f,i是指什麽? 04/26 20:20
5F:推 tiefblau: http://codepad.org/iGLsc9qh 04/26 20:39
6F:→ MOONY135: a=i是多余的吧 04/26 21:52
※ 编辑: busystudent (1.172.95.247), 04/26/2016 23:02:45 ※ 编辑: busystudent (1.172.95.247), 04/26/2016 23:07:06 ※ 编辑: busystudent (1.172.95.247), 04/26/2016 23:12:41
7F:→ checkIO: str(d) 04/26 23:28
8F:→ checkIO: 基本上error资讯丢去Google就有解答的事情了 04/26 23:31
9F:推 aweimeow: 第一个问题:改用codecs.open('abc.txt', 'w', 'utf-8') 04/26 23:31
10F:→ aweimeow: 记得要 import codecs 哦 04/26 23:31
11F:→ aweimeow: 然後第二个问题就如同上面 c大 所说 04/26 23:32
12F:→ aweimeow: 他错误讯息就写着 float 不能 和 str 结合 04/26 23:32
13F:→ aweimeow: 所以你可以把 float 转成 string 或是 "%f\n" % d 04/26 23:32
14F:→ busystudent: 感谢留言,所以第一个问题可以推测是txt不支援utf-8` 04/26 23:35
15F:→ busystudent: ,要多宣告吗? 04/26 23:35
16F:→ checkIO: 编码问题 抓下来可能是无法辨识的 04/26 23:37
17F:→ checkIO: 因为你一开始宣告是utf8 不然把utf8那行拿掉试试看 04/26 23:39
18F:→ busystudent: 等等 我忽然想到那我要开始就宣告万国码 04/26 23:41
19F:→ busystudent: 问题会解决吗? 04/26 23:41
20F:推 aweimeow: 不会吧我觉得 04/26 23:48
21F:→ octantis: 你们是不是误会了什麽,开头宣告的utf8只是表示这份文件 04/27 00:09
22F:→ octantis: 要用哪种编码来将py档编成二进位档,跟你的open一点关系 04/27 00:10
23F:→ octantis: 也没有,你的open并write预设用的编码是看sys模组里的 04/27 00:11
24F:→ octantis: sys.getdefaultencoding(),它才是判断你的资料该以何种 04/27 00:13
25F:→ octantis: 编码编成二进位并写入文件。跟你用beautifulsoup抓进来 04/27 00:14
26F:→ octantis: 的资料也一点关系也没有,BeautifulSoup会把抓到的资料 04/27 00:16
27F:→ octantis: 转成Unicode不管资料原本是何种编码,读进来就是Unicode 04/27 00:16
28F:→ octantis: 此外开头的宣告utf8只是'告诉'别人你这份py档要用什麽编 04/27 00:21
29F:→ busystudent: 了解,感谢说明 04/27 00:21
30F:→ octantis: 码,并不代表你实际的编码,你也可以开头宣告utf8,但把 04/27 00:21
31F:→ octantis: py档存成ascii,因此在存档时需特别注意你的存档编码跟 04/27 00:23
32F:→ octantis: py档开头的宣告是不是同一个,否则别人看你开头是utf8但 04/27 00:24
33F:→ octantis: 你存成其他的就有可能出现py档乱码等情形 04/27 00:25
34F:推 krazy1101: 最近也遇到这问题 推 04/27 14:12







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP