我使用的是2.7编写的Python脚本(seafile-cli来自Seafile,这是文件同步解决方案)。
我知道unicode在Python 2中是有问题的,但值得庆幸的是,在启动脚本时正确处理了带有变音符号的文件名:
$ # seaf-cli status
# Name Status Progress
photos downloading 0/0, 0.0KB/s
Ma bibliothèque downloading 566/1770, 1745.7KB/s
videos downloading 28/1203, 5088.0KB/s
dev-perso downloading 0/0, 0.0KB/s
dev-pro downloading 0/0, 0.0KB/s
令我惊讶的是,在传递此输出时,Python脚本崩溃UnicodeEncodeError:
$ seaf-cli status | cat -
# Name Status Progress
photos downloading 0/0, 0.0KB/s
Traceback (most recent call last):
File "/usr/bin/seaf-cli", line 845, in <module>
main()
File "/usr/bin/seaf-cli", line 841, in main
args.func(args)
File "/usr/bin/seaf-cli", line 649, in seaf_status
tx_task.rate/1024.0)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8' in position 11: ordinal not in range(128)
虽然我知道它Ma bibliothèque最初可能有问题(但没有),但为什么管道传输会触发回溯?
那不是外壳的问题吗?-此时输出已“离开”脚本。
互换的青春
相关分类