这是只保留srt文件以英文字母开头的行 的Python程序:
infile = open(‘About.Time.2013-en.srt‘, ‘r‘)
outfile = open(‘About.Time.2013-en.txt‘, ‘w‘)
for line in infile:
if str.isalpha(line[0]):
outfile.write(line)
infile.close()
outfile.close()
我的笔记本是win8-32位系统, Python版本是3.4.1.
用Windows自带的记事本改变srt文件的存储格式 分别为ANSI, Unicode, Unicode big endian, UTF-8
只有ANSI格式下我的这个脚本能够正常运行.
否则报错:
Traceback (most recent call last):
File "D:\About.Time.2013-en.py", line 4, in <module>
for line in infile:
UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xfe in position 0: illegal multibyte sequence
显然是编码问题, win8里面我安装的Python估计是默认以Windows记事本所带的ANSI编码读文本.
那我要是指定编码格式呢?我知道Java里面是
<Java code> //回去翻翻书在来
深入到byte的层面, 文本文件的编码又究竟是怎么一回事呢? 记得姜老师提到过BOM
\\整理一下再来
时间: 2024-08-27 05:38:40