为什么重定向不适用于python脚本?
可能重复:为什么重定向不适用于python脚本?,python,bash,shell,redirect,Python,Bash,Shell,Redirect,可能重复: 以下内容按预期在python shell(2.7.3)中运行 for i in range(999): print i, unichr(i) 将其保存在文件(asd.py)中,并在shell中运行 $ ./asd.py 也可以,但是 $ ./asd.py > asd.txt 给出: Traceback (most recent call last): File "./asd.py", line 3, in <module> print i
以下内容按预期在python shell(2.7.3)中运行
for i in range(999):
print i, unichr(i)
将其保存在文件(asd.py)中,并在shell中运行
$ ./asd.py
也可以,但是
$ ./asd.py > asd.txt
给出:
Traceback (most recent call last):
File "./asd.py", line 3, in <module>
print i, unichr(i)
UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128)
回溯(最近一次呼叫最后一次):
文件“/asd.py”,第3行,在
打印一,联合国人权高专办(一)
UnicodeEncodeError:“ascii”编解码器无法对位置0中的字符u'\x80'进行编码:序号不在范围内(128)
为什么呢?如何解决这个问题?试试下面的代码
#!/usr/bin/python
for i in range(999):
print i, unichr(i).encode('utf-8')
看看@sr2222:这就回答了,谢谢?区别是什么?@glglgl的区别是.encode('utf-8')它工作正常,但在gedit中打开文件时,它会显示:您打开的文件有一些无效字符。如果继续编辑此文件,可能会损坏此文档。原因是什么?“$iconv-f utf-8 asd.txt”请尝试此操作command@Ammar对不起,我是瞎子。没有看到它。。。